Commit b047092
committed
vfs: fix validation, symlink, timestamp, and bigint bugs
- Throw ERR_INVALID_PACKAGE_CONFIG for malformed package.json in VFS
instead of silently falling through to index.js resolution
- Move writeFile/appendFile options validation (getOptions, parseFileMode,
validateBoolean) before VFS fast path so invalid options are rejected
- Validate flags with stringToFlags() before VFS check in open/openSync
so invalid flag values like {} throw ERR_INVALID_ARG_VALUE
- Fix rmdirSync to not follow symlinks (use getEntry with false) so
symlinks to directories correctly throw ENOTDIR
- Update parent directory mtime/ctime when children are added or removed
in openSync, mkdirSync, rmdirSync, unlinkSync, linkSync, symlinkSync,
and renameSync
- Pass bigint option through to VFS statfs handlers and return BigInt
values when options.bigint is true1 parent be92138 commit b047092
File tree
10 files changed
+457
-48
lines changed- lib
- internal
- fs
- vfs
- providers
- test/parallel
10 files changed
+457
-48
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
611 | 611 | | |
612 | 612 | | |
613 | 613 | | |
| 614 | + | |
| 615 | + | |
614 | 616 | | |
615 | 617 | | |
616 | 618 | | |
617 | | - | |
| 619 | + | |
618 | 620 | | |
619 | 621 | | |
620 | 622 | | |
| |||
626 | 628 | | |
627 | 629 | | |
628 | 630 | | |
629 | | - | |
630 | 631 | | |
631 | 632 | | |
632 | 633 | | |
| |||
643 | 644 | | |
644 | 645 | | |
645 | 646 | | |
| 647 | + | |
| 648 | + | |
646 | 649 | | |
647 | 650 | | |
648 | 651 | | |
649 | 652 | | |
650 | 653 | | |
651 | 654 | | |
652 | 655 | | |
653 | | - | |
654 | | - | |
| 656 | + | |
| 657 | + | |
655 | 658 | | |
656 | 659 | | |
657 | 660 | | |
| |||
2070 | 2073 | | |
2071 | 2074 | | |
2072 | 2075 | | |
2073 | | - | |
| 2076 | + | |
2074 | 2077 | | |
2075 | 2078 | | |
2076 | 2079 | | |
| |||
2174 | 2177 | | |
2175 | 2178 | | |
2176 | 2179 | | |
2177 | | - | |
| 2180 | + | |
2178 | 2181 | | |
2179 | 2182 | | |
2180 | 2183 | | |
| |||
2996 | 2999 | | |
2997 | 3000 | | |
2998 | 3001 | | |
| 3002 | + | |
| 3003 | + | |
| 3004 | + | |
| 3005 | + | |
| 3006 | + | |
| 3007 | + | |
| 3008 | + | |
| 3009 | + | |
| 3010 | + | |
| 3011 | + | |
2999 | 3012 | | |
3000 | 3013 | | |
3001 | | - | |
3002 | | - | |
| 3014 | + | |
3003 | 3015 | | |
3004 | | - | |
| 3016 | + | |
3005 | 3017 | | |
3006 | 3018 | | |
3007 | 3019 | | |
| |||
3012 | 3024 | | |
3013 | 3025 | | |
3014 | 3026 | | |
3015 | | - | |
3016 | | - | |
3017 | | - | |
3018 | | - | |
3019 | | - | |
3020 | | - | |
3021 | 3027 | | |
3022 | | - | |
3023 | | - | |
3024 | | - | |
3025 | 3028 | | |
3026 | 3029 | | |
3027 | 3030 | | |
| |||
3062 | 3065 | | |
3063 | 3066 | | |
3064 | 3067 | | |
3065 | | - | |
3066 | | - | |
3067 | | - | |
3068 | | - | |
3069 | | - | |
3070 | 3068 | | |
3071 | 3069 | | |
3072 | 3070 | | |
3073 | 3071 | | |
3074 | 3072 | | |
3075 | 3073 | | |
3076 | | - | |
3077 | 3074 | | |
3078 | | - | |
3079 | 3075 | | |
| 3076 | + | |
| 3077 | + | |
| 3078 | + | |
| 3079 | + | |
| 3080 | + | |
| 3081 | + | |
| 3082 | + | |
3080 | 3083 | | |
3081 | 3084 | | |
3082 | 3085 | | |
| |||
3136 | 3139 | | |
3137 | 3140 | | |
3138 | 3141 | | |
| 3142 | + | |
| 3143 | + | |
| 3144 | + | |
| 3145 | + | |
| 3146 | + | |
3139 | 3147 | | |
3140 | 3148 | | |
3141 | | - | |
3142 | | - | |
| 3149 | + | |
3143 | 3150 | | |
3144 | | - | |
| 3151 | + | |
3145 | 3152 | | |
3146 | 3153 | | |
3147 | 3154 | | |
| |||
3152 | 3159 | | |
3153 | 3160 | | |
3154 | 3161 | | |
3155 | | - | |
3156 | | - | |
3157 | 3162 | | |
3158 | 3163 | | |
3159 | 3164 | | |
| |||
3176 | 3181 | | |
3177 | 3182 | | |
3178 | 3183 | | |
| 3184 | + | |
| 3185 | + | |
| 3186 | + | |
3179 | 3187 | | |
3180 | 3188 | | |
3181 | 3189 | | |
3182 | 3190 | | |
3183 | 3191 | | |
3184 | | - | |
3185 | 3192 | | |
3186 | 3193 | | |
3187 | 3194 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1103 | 1103 | | |
1104 | 1104 | | |
1105 | 1105 | | |
1106 | | - | |
| 1106 | + | |
1107 | 1107 | | |
1108 | 1108 | | |
1109 | 1109 | | |
| |||
1344 | 1344 | | |
1345 | 1345 | | |
1346 | 1346 | | |
1347 | | - | |
1348 | | - | |
1349 | | - | |
1350 | | - | |
1351 | | - | |
1352 | | - | |
1353 | 1347 | | |
1354 | 1348 | | |
1355 | 1349 | | |
1356 | 1350 | | |
1357 | 1351 | | |
1358 | 1352 | | |
1359 | | - | |
1360 | 1353 | | |
1361 | | - | |
1362 | 1354 | | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
1363 | 1365 | | |
1364 | 1366 | | |
1365 | 1367 | | |
| |||
1387 | 1389 | | |
1388 | 1390 | | |
1389 | 1391 | | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
1390 | 1395 | | |
1391 | 1396 | | |
1392 | | - | |
| 1397 | + | |
1393 | 1398 | | |
1394 | 1399 | | |
1395 | 1400 | | |
1396 | | - | |
1397 | 1401 | | |
1398 | 1402 | | |
1399 | 1403 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
521 | 521 | | |
522 | 522 | | |
523 | 523 | | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
524 | 527 | | |
525 | 528 | | |
526 | 529 | | |
| |||
689 | 692 | | |
690 | 693 | | |
691 | 694 | | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
692 | 698 | | |
693 | 699 | | |
694 | 700 | | |
| |||
702 | 708 | | |
703 | 709 | | |
704 | 710 | | |
705 | | - | |
| 711 | + | |
706 | 712 | | |
707 | 713 | | |
708 | 714 | | |
| |||
715 | 721 | | |
716 | 722 | | |
717 | 723 | | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
718 | 727 | | |
719 | 728 | | |
720 | 729 | | |
| |||
737 | 746 | | |
738 | 747 | | |
739 | 748 | | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
740 | 752 | | |
741 | 753 | | |
742 | 754 | | |
| |||
778 | 790 | | |
779 | 791 | | |
780 | 792 | | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
781 | 801 | | |
782 | 802 | | |
783 | 803 | | |
| |||
809 | 829 | | |
810 | 830 | | |
811 | 831 | | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
812 | 835 | | |
813 | 836 | | |
814 | 837 | | |
| |||
848 | 871 | | |
849 | 872 | | |
850 | 873 | | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
851 | 877 | | |
852 | 878 | | |
853 | 879 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
358 | 359 | | |
359 | 360 | | |
360 | 361 | | |
361 | | - | |
362 | | - | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
363 | 368 | | |
364 | 369 | | |
365 | 370 | | |
| |||
481 | 486 | | |
482 | 487 | | |
483 | 488 | | |
484 | | - | |
| 489 | + | |
485 | 490 | | |
486 | 491 | | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
487 | 498 | | |
488 | 499 | | |
489 | 500 | | |
| |||
918 | 929 | | |
919 | 930 | | |
920 | 931 | | |
921 | | - | |
| 932 | + | |
922 | 933 | | |
923 | 934 | | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
924 | 942 | | |
925 | 943 | | |
926 | 944 | | |
| |||
1140 | 1158 | | |
1141 | 1159 | | |
1142 | 1160 | | |
1143 | | - | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
1144 | 1166 | | |
1145 | 1167 | | |
1146 | 1168 | | |
| |||
0 commit comments