From a369b429102f108653c8fd2aca8b1209c99849e0 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Sat, 20 May 2017 08:05:27 +0800 Subject: [PATCH] cgi: close unforked std fds --- lib/libwebsockets.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c index 11f73d5..288c3df 100755 --- a/lib/libwebsockets.c +++ b/lib/libwebsockets.c @@ -2506,11 +2506,13 @@ lws_cgi(struct lws *wsi, const char * const *exec_array, int script_uri_path_len * process is OK. Stuff that happens after the execvpe() is OK. */ - for (n = 0; n < 3; n++) + for (n = 0; n < 3; n++) { if (dup2(cgi->pipe_fds[n][!(n == 0)], n) < 0) { lwsl_err("%s: stdin dup2 failed\n", __func__); goto bail3; } + close(cgi->pipe_fds[n][!(n == 0)]); + } #if !defined(LWS_HAVE_VFORK) || !defined(LWS_HAVE_EXECVPE) for (m = 0; m < n; m++) { -- 2.7.4