From f7e848dd2808956aea893c556ad778b2f079e41b Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Tue, 16 Mar 2021 15:31:58 +0000 Subject: [PATCH] * modules/generators/mod_cgid.c (cgid_server): Register cleanup for socket earlier to avoid possible leaks on error paths. (highlighted by Coverity scan) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1887727 13f79535-47bb-0310-9956-ffa450edef68 --- modules/generators/mod_cgid.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/generators/mod_cgid.c b/modules/generators/mod_cgid.c index 1636ad41f14..08cdaccbf64 100644 --- a/modules/generators/mod_cgid.c +++ b/modules/generators/mod_cgid.c @@ -744,6 +744,9 @@ static int cgid_server(void *data) return errno; } + apr_pool_cleanup_register(pcgi, (void *)((long)sd), + close_unix_socket, close_unix_socket); + omask = umask(0077); /* so that only Apache can use socket */ rc = bind(sd, (struct sockaddr *)server_addr, server_addr_len); umask(omask); /* can't fail, so can't clobber errno */ @@ -778,9 +781,6 @@ static int cgid_server(void *data) } } - apr_pool_cleanup_register(pcgi, (void *)((long)sd), - close_unix_socket, close_unix_socket); - /* if running as root, switch to configured user/group */ if ((rc = ap_run_drop_privileges(pcgi, ap_server_conf)) != 0) { return rc; -- 2.47.3