diff options
author | 2022-03-14 21:10:25 -0700 | |
---|---|---|
committer | 2022-03-14 21:10:25 -0700 | |
commit | 2d1538e698654150a00a1b2187dfc811a0d15395 (patch) | |
tree | 543c104fb75cec876d40fa0f91f2fa1c06aaf176 | |
parent | 1316dd1a4fcd25b0a81621b57c5f25c8674cd2db (diff) | |
download | bun-2d1538e698654150a00a1b2187dfc811a0d15395.tar.gz bun-2d1538e698654150a00a1b2187dfc811a0d15395.tar.zst bun-2d1538e698654150a00a1b2187dfc811a0d15395.zip |
fix crash in `bun create`
-rw-r--r-- | src/cli/create_command.zig | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cli/create_command.zig b/src/cli/create_command.zig index da9c1703d..251bbc3ac 100644 --- a/src/cli/create_command.zig +++ b/src/cli/create_command.zig @@ -107,7 +107,9 @@ fn execTask(allocator: std.mem.Allocator, task_: string, cwd: string, _: string, const npm_args = 2 * @intCast(usize, @boolToInt(npm_client != null)); const total = count + npm_args; var argv = allocator.alloc(string, total) catch return; - defer allocator.free(argv); + var proc: *std.ChildProcess = undefined; + defer proc.deinit(); + defer if (argv.len > 32) allocator.free(argv); if (npm_client) |client| { argv[0] = client.bin; @@ -143,8 +145,7 @@ fn execTask(allocator: std.mem.Allocator, task_: string, cwd: string, _: string, Output.disableBuffering(); defer Output.enableBuffering(); - var proc = std.ChildProcess.init(argv, allocator) catch return; - defer proc.deinit(); + proc = std.ChildProcess.init(argv, allocator) catch return; proc.stdin_behavior = .Inherit; proc.stdout_behavior = .Inherit; proc.stderr_behavior = .Inherit; |