You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@apache.org on 2021/04/21 01:15:24 UTC
svn commit: r1889041 - in /httpd/httpd/branches/2.4.x: ./
modules/generators/mod_cgid.c
Author: covener
Date: Wed Apr 21 01:15:24 2021
New Revision: 1889041
URL: http://svn.apache.org/viewvc?rev=1889041&view=rev
Log:
Merge r1887727 from trunk:
* modules/generators/mod_cgid.c (cgid_server): Register cleanup for
socket earlier to avoid possible leaks on error paths. (highlighted
by Coverity scan)
Reviewed By: ylavic, icing, covener
Modified:
httpd/httpd/branches/2.4.x/ (props changed)
httpd/httpd/branches/2.4.x/modules/generators/mod_cgid.c
Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
Merged /httpd/httpd/trunk:r1887727
Modified: httpd/httpd/branches/2.4.x/modules/generators/mod_cgid.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/generators/mod_cgid.c?rev=1889041&r1=1889040&r2=1889041&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/generators/mod_cgid.c (original)
+++ httpd/httpd/branches/2.4.x/modules/generators/mod_cgid.c Wed Apr 21 01:15:24 2021
@@ -627,6 +627,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 */
@@ -661,9 +664,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;