JS FS: Don't return ELOOP on a path with a large number of ..'s#24591
JS FS: Don't return ELOOP on a path with a large number of ..'s#24591sbc100 merged 6 commits intoemscripten-core:mainfrom
Conversation
Decrement nlinks before doing `continue linkloop;` due to a .. at a file system loop. We're not actually traversing a symlink here.
|
Okay updated it. |
|
Now let's see if I can convince |
|
The jssizes have all gone up by ~600 bytes and the gzsizes by ~1300 bytes. Seems too big for this change. |
|
If you want I can try to generate the codesize change for this PR? |
|
That would be helpful. It would be good to eventually figure out how to generate these myself. Maybe we could run the rebasline_tests.py in a docker image like @kleisauke suggested. |
This is an automatic change generated by tools/maint/rebaseline_tests.py. The following (20) test expectation files were updated by running the tests with `--rebaseline`: ``` test/other/codesize/test_codesize_cxx_ctors1.gzsize updated test/other/codesize/test_codesize_cxx_ctors1.jssize updated test/other/codesize/test_codesize_cxx_ctors2.gzsize updated test/other/codesize/test_codesize_cxx_ctors2.jssize updated test/other/codesize/test_codesize_cxx_except.gzsize updated test/other/codesize/test_codesize_cxx_except.jssize updated test/other/codesize/test_codesize_cxx_except_wasm.gzsize updated test/other/codesize/test_codesize_cxx_except_wasm.jssize updated test/other/codesize/test_codesize_cxx_except_wasm_legacy.gzsize updated test/other/codesize/test_codesize_cxx_except_wasm_legacy.jssize updated test/other/codesize/test_codesize_cxx_lto.gzsize updated test/other/codesize/test_codesize_cxx_lto.jssize updated test/other/codesize/test_codesize_cxx_mangle.gzsize updated test/other/codesize/test_codesize_cxx_mangle.jssize updated test/other/codesize/test_codesize_cxx_noexcept.gzsize updated test/other/codesize/test_codesize_cxx_noexcept.jssize updated test/other/codesize/test_codesize_files_js_fs.gzsize updated test/other/codesize/test_codesize_files_js_fs.jssize updated test/other/codesize/test_codesize_hello_dylink.gzsize updated test/other/codesize/test_codesize_hello_dylink.jssize updated ```
|
Done |
|
All the tests passed but something went wrong with the status report for test-wasm-js and GitHub shows it as in progress while circle ci shows it as passed. I guess I can push an empty commit and retrigger. |
Decrement nlinks before doing
continue linkloop;due to a .. at a file system loop. We're not actually traversing a symlink here.Caught by the Python test suite.