Commit 0ee0e2e
committed
fs: normalize paths with dot segments in rm and rmSync
When paths containing '.' or '..' components (e.g., 'a/b/../.') are passed to fs.rm(), fs.rmSync(), or fs.promises.rm(), the different codepaths (native binding.rmSync vs JS rimraf) could produce inconsistent results because the path was used as-is without normalization.
Add pathModule.normalize() after getValidatedPath() in all three rm variants to ensure dot-segment components are resolved before the path reaches the underlying removal implementation.
Fixes: #61958
Signed-off-by: Rohith Pariki <rohithpariki@gmail.com>1 parent 7fab656 commit 0ee0e2e
3 files changed
Lines changed: 47 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1560 | 1560 | | |
1561 | 1561 | | |
1562 | 1562 | | |
| 1563 | + | |
1563 | 1564 | | |
1564 | 1565 | | |
1565 | 1566 | | |
| |||
1588 | 1589 | | |
1589 | 1590 | | |
1590 | 1591 | | |
| 1592 | + | |
| 1593 | + | |
1591 | 1594 | | |
1592 | | - | |
| 1595 | + | |
1593 | 1596 | | |
1594 | 1597 | | |
1595 | 1598 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1607 | 1607 | | |
1608 | 1608 | | |
1609 | 1609 | | |
| 1610 | + | |
1610 | 1611 | | |
1611 | 1612 | | |
1612 | 1613 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
657 | 657 | | |
658 | 658 | | |
659 | 659 | | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
0 commit comments