From 62cb53069c5a9ae49b83a25f5dfaccc9accda5b7 Mon Sep 17 00:00:00 2001 From: apio Date: Thu, 18 Apr 2024 21:25:13 +0200 Subject: [PATCH] libc: Close all pipe file descriptors in popen() after dup2() is called --- libc/src/stdio.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libc/src/stdio.cpp b/libc/src/stdio.cpp index 31d414ac..b3a066f6 100644 --- a/libc/src/stdio.cpp +++ b/libc/src/stdio.cpp @@ -793,11 +793,13 @@ extern "C" { close(pfds[0]); dup2(pfds[1], STDOUT_FILENO); + close(pfds[1]); } else { close(pfds[1]); dup2(pfds[0], STDIN_FILENO); + close(pfds[0]); } execl("/bin/sh", "sh", "-c", command, nullptr);