mirror of
https://github.com/morluto/rea.git
synced 2026-11-14 18:52:48 +00:00
environment-build/export ran an unclassified recursive mkdir of the destination's parent before SafeOutputTree validated anything. A trailing `..` therefore created directories before it was refused, and a regular file in the parent path surfaced as unreadable_output instead of refusing the selection. SafeOutputTree.create gains a createParents option that admits the root's own syntax first, then creates the parents, mapping EEXIST and ENOTDIR to a destination refusal. The environment bundle writer uses it instead of its own mkdir. Fixes #7688 Fixes #7571 The non-directory mapping comes from #7734 by HeadmasterEggy, and the syntax-first check from #7588 by harshitethic; their tests are kept. Co-Authored-By: Avocado <headmastereggy@gmail.com> Co-Authored-By: Harshit Sharma <66710144+harshitethic@users.noreply.github.com> Co-Authored-By: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>