From 2d1538e698654150a00a1b2187dfc811a0d15395 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Mon, 14 Mar 2022 21:10:25 -0700 Subject: [PATCH] fix crash in `bun create` --- src/cli/create_command.zig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cli/create_command.zig b/src/cli/create_command.zig index da9c1703d7..251bbc3ac9 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;