From a572d571fae7b269b8b7e3b8c6ec41c01cd0f25b Mon Sep 17 00:00:00 2001 From: Louis Nyffenegger Date: Sun, 6 Jul 2025 11:18:42 +0000 Subject: [PATCH] path: add more examples for path.Clean Clarify that the function path.Clean only normalises paths and does not protect against directory-traversal attacks. Change-Id: I66f1267ac15900ac0cb6011ace0c79aabaebc68b GitHub-Last-Rev: d669e1edf6221e7c8e0a9aa7bf46493c8ea85ba0 GitHub-Pull-Request: golang/go#74397 Reviewed-on: https://go-review.googlesource.com/c/go/+/684376 Reviewed-by: Cherry Mui Reviewed-by: Mark Freeman LUCI-TryBot-Result: Go LUCI Reviewed-by: Rob Pike Reviewed-by: Sean Liao Auto-Submit: Sean Liao --- src/path/example_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/path/example_test.go b/src/path/example_test.go index e30ebd13dc..479241a382 100644 --- a/src/path/example_test.go +++ b/src/path/example_test.go @@ -25,6 +25,8 @@ func ExampleClean() { "a//c", "a/c/.", "a/c/b/..", + "../a/c", + "../a/b/../././/c", "/../a/c", "/../a/b/../././/c", "", @@ -39,6 +41,8 @@ func ExampleClean() { // Clean("a//c") = "a/c" // Clean("a/c/.") = "a/c" // Clean("a/c/b/..") = "a/c" + // Clean("../a/c") = "../a/c" + // Clean("../a/b/../././/c") = "../a/c" // Clean("/../a/c") = "/a/c" // Clean("/../a/b/../././/c") = "/a/c" // Clean("") = "." -- 2.52.0