### What does this PR do?
### How did you verify your code works?
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Replace `catch bun.outOfMemory()`, which can accidentally catch
non-OOM-related errors, with either `bun.handleOom` or a manual `catch
|err| switch (err)`.
(For internal tracking: fixes STAB-1070)
---------
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
## Summary
- Fixed buffer overflow in env_loader when parsing large environment
variables with escape sequences
- Replaced fixed 4096-byte buffer with a stack fallback allocator that
automatically switches to heap allocation for larger values
- Added comprehensive tests to prevent regression
## Background
The env_loader previously used a fixed threadlocal buffer that could
overflow when parsing environment variables containing escape sequences.
This caused crashes when the parsed value exceeded 4KB.
## Changes
- Replaced fixed buffer with `StackFallbackAllocator` that uses 4KB
stack buffer for common cases and falls back to heap for larger values
- Updated all env parsing functions to accept a reusable buffer
parameter
- Added proper memory cleanup with defer statements
## Test plan
- [x] Added test cases for large environment variables with escape
sequences
- [x] Added test for values larger than 4KB
- [x] Added edge case tests (empty quotes, escape at EOF)
- [x] All existing env tests continue to pass
fixes#11627
fixes BAPI-1274
🤖 Generated with [Claude Code](https://claude.ai/code)
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* some work
* linux things
* linux things
* feat: tracestrings on Windows
* bwaa
* more work on the crash handler
* okay
* adgadsgbcxcv
* ya
* dsafds
* a
* wuh
* a
* bru h
* ok
* yay
* window
* alright
* oops
* yeah
* a
* a
* OOM handling
* fix on window
* Skeleton code for `bun run --workspace`
* Update run_command.zig
* implement directory traversal to find workspace root
* finish --workspace implementation
* clean up changes in run_command.zig
* add workspace tests, update harness to handle nested dirs
* [autofix.ci] apply automated fixes
* basic filtering
* [autofix.ci] apply automated fixes
* working filter without patterns
* update tests, filter mostly working
* simplify package name parsing, commit tests
* support filter even without workspace setup
* move filter arg handling to separate source file
* use bun.sys.chdir, match root package for scripts
* fix exit code handling
* ignore node_modules and directories starting with . in --filter
* progress converting --filter to use iterators
* convert filtering to use iterators
* cleanup
* implement DirEntry access method for glob (currently crashing)
* cleanup and fixes
* run js files in subprocess when filter flag passed
* clean up dead code
* fix fd leak in run_command.zig
* [autofix.ci] apply automated fixes
* fix issues after merge
* use posix-spawn in runBinary, fix resource PATH variable resource leak
* move filter argument to runtime category
* fix test harness
* add js and binary tests to filter-workspace
* [autofix.ci] apply automated fixes
* fix compile after merge
* [autofix.ci] apply automated fixes
* clean up filter-workspace test
* [autofix.ci] apply automated fixes
* fixes to running binaries
* fix actually setting cwd_override
* windows fixes
* address some review comments
* handle malformed JSON
* add various tests
* [autofix.ci] apply automated fixes
* update docs for filter
* [autofix.ci] apply automated fixes
* reset tinycc commit
* filtered run prototype
* make pretty
* implement abort handler (not working)
* make prettier
* prep for windows
* windows path and printing fixes
* implement log-style output (not tui)
* fix issues when logging to file
* revert a bunch of unecessary changes
* cleanup
* implement dependency order execution
* detect circular dependencies, fix cancel hang
* Fix `$PATH`
* ignore dep order on loop, stream on linux, sort pkgs
* support pre and post scripts
* add more filter tests, print elapsed time
* enable 'bun --filter' without run
* fix harness after merge
* [autofix.ci] apply automated fixes
* print number of scripts we're waiting for
* update docs, fix windows build
* fix tests on windows
* [autofix.ci] apply automated fixes
* fix uninitialized memory
* use terminal synchronized update sequences
* Add skip list
* Preallocate
* Use current bun in tests
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
* shell: organize imports
* shell: dont allocate when printing errors
* shell: implement $0, $1, argv accessors
* add more tests
* oops need this commit too
* make these logs listen to silencing logs
* expand switch else statements
* align behavior with bash
* this isnt referenced anywhere
* add missing test file
* add another test
* revert this change
* cache utf8 converted version of positionals
* rebase fixes
---------
Co-authored-by: Georgijs Vilums <georgijs.vilums@gmail.com>
* these comments were redundant
* better windows support here
* slightly better error message
* didnt realize this variable already existed
* fix node-gyp shim script
* move 'windows bin linking shim should work' to its own file
* run all lifecycle scripts on windows with bun shell
* tidy
* clean imports
* this seemed missing
* remove these comments
* fix the shim again
* fix posix release ensureTempNodeGypScript
* revert this change, it was correct before