From 2e6c21646d72d3e6f32a60e59f49d693516ce24b Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Mon, 6 Jan 2025 10:50:27 -0700 Subject: [PATCH] fix double free of stdout/stderr child process handles --- src/subprocess_windows.zig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/subprocess_windows.zig b/src/subprocess_windows.zig index 149c7bc..e9eaea1 100644 --- a/src/subprocess_windows.zig +++ b/src/subprocess_windows.zig @@ -127,7 +127,9 @@ const Proc = struct { _ = self.args.reset(.free_all); self.stream_stdout = tp.file_stream.init("stdout", self.child.stdout.?.handle) catch |e| return self.handle_error(e); + self.child.stdout = null; // ownership transferred self.stream_stderr = tp.file_stream.init("stderr", self.child.stderr.?.handle) catch |e| return self.handle_error(e); + self.child.stderr = null; // ownership transferred if (self.stream_stdout) |stream| stream.start_read() catch |e| return self.handle_error(e); if (self.stream_stderr) |stream| stream.start_read() catch |e| return self.handle_error(e);