summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2016-04-14 10:20:22 +0000
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2016-04-14 10:20:22 +0000
commit71b73eca6ae6e2b9480e65ee50ee4ff51981fa89 (patch)
tree47227710195fe5635929e87e0b4530550e596b28
parent52fb224d500479062c769ef10bdb0cb74ab483b8 (diff)
Free pipes if worker thread initialization fails
-rw-r--r--src/microhttpd/daemon.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index b6885178..bcbe6b50 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -4402,6 +4402,12 @@ thread_failed:
if (0 != (flags & MHD_USE_SSL))
gnutls_priority_deinit (daemon->priority_cache);
#endif
+ if ( (MHD_INVALID_PIPE_ != daemon->wpipe[0]) &&
+ (0 != MHD_pipe_close_ (daemon->wpipe[0])) )
+ MHD_PANIC ("close failed\n");
+ if ( (MHD_INVALID_PIPE_ != daemon->wpipe[1]) &&
+ (0 != MHD_pipe_close_ (daemon->wpipe[1])) )
+ MHD_PANIC ("close failed\n");
free (daemon);
return NULL;
}