Repository navigation
win32 path.normalize() not correctly normalizing relative paths containing ../ that advance above root #17928
Copy link
Copy link
Closed
Labels
confirmed-bugIssues and PRs for confirmed bugs.Issues and PRs for confirmed bugs.pathIssues and PRs related to the path subsystem.Issues and PRs related to the path subsystem.
Description
Activity
- addedpathIssues and PRs related to the path subsystem.Issues and PRs related to the path subsystem.windowsIssues and PRs related to the Windows platform.Issues and PRs related to the Windows platform.
on Jan 2, 2018 cc/ @nodejs/platform-windows @targos
Can't reproduce on macOS, so assuming this is Windows specific.
Cant' reproduce on Windows either:
> path.normalize('../dir1/../../dir2') '..\\..\\dir2'This is strange, let me take another look to see what's happening
Reacted by Gibson FahnestockOK - my example was bad. Sorry about that, try this:
path.normalize( '../../../dir1/../../../dir2' );Should output
../../../../../dir2but outputs../dir2- removedwindowsIssues and PRs related to the Windows platform.Issues and PRs related to the Windows platform.
on Jan 2, 2018 Okay, can reproduce that with v6.12.0 but not v6.11.5 (on macOS), which suggests b98e8d9 is indeed the cause of the issue.
▶▶▶ nvm i v6.11.5 ~/wrk/com/DANGER/node (v8.9.4-proposal) v6.11.5 is already installed. Now using node v6.11.5 (npm v3.10.10) ▶▶▶ node -p "path.normalize( '../../../dir1/../../../dir2' );" ~/wrk/com/DANGER/node 2s (v8.9.4-proposal) ../../../../../dir2 ▶▶▶ nvm use 6.12.0 ~/wrk/com/DANGER/node (v8.9.4-proposal) Now using node v6.12.0 (npm v3.10.10) ▶▶▶ node -p "path.normalize( '../../../dir1/../../../dir2' );" ~/wrk/com/DANGER/node 1s (v8.9.4-proposal) ../dir2
Reacted by Pete WardCool, i would have submitted a PR myself but i was unsure of the correct behaviour that b98e8d9 was supposed to fix. Thanks for looking at this 👍
- addedconfirmed-bugIssues and PRs for confirmed bugs.Issues and PRs for confirmed bugs.
on Jan 4, 2018 - added a commit that references this issue
on Jan 22, 2018 - added a commit that references this issue
on Jan 30, 2018 - added 2 commits that reference this issue
on Feb 27, 2018 - added a commit that references this issue
on Jul 27, 2026
Metadata
Metadata
Assignees
Labels
confirmed-bugIssues and PRs for confirmed bugs.Issues and PRs for confirmed bugs.pathIssues and PRs related to the path subsystem.Issues and PRs related to the path subsystem.
edit: See below comment for correct replication code
Should output
../../dir2but outputsdir2.After some investigation it appears to have been introduced via commit b98e8d995efb426bbdee56ce503017bdcbbc6332 (path: fix normalize on directories with two dots)