mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4: fix more resource leaks
This commit is contained in:
commit
6494faa844
@ -167,7 +167,7 @@ static int fpm_sockets_new_listening_socket(struct fpm_worker_pool_s *wp, struct
|
||||
{
|
||||
int flags = 1;
|
||||
int sock;
|
||||
mode_t saved_umask;
|
||||
mode_t saved_umask = 0;
|
||||
|
||||
sock = socket(sa->sa_family, SOCK_STREAM, 0);
|
||||
|
||||
@ -181,6 +181,7 @@ static int fpm_sockets_new_listening_socket(struct fpm_worker_pool_s *wp, struct
|
||||
if (wp->listen_address_domain == FPM_AF_UNIX) {
|
||||
if (fpm_socket_unix_test_connect((struct sockaddr_un *)sa, socklen) == 0) {
|
||||
zlog(ZLOG_ERROR, "An another FPM instance seems to already listen on %s", ((struct sockaddr_un *) sa)->sun_path);
|
||||
close(sock);
|
||||
return -1;
|
||||
}
|
||||
unlink( ((struct sockaddr_un *) sa)->sun_path);
|
||||
@ -192,6 +193,7 @@ static int fpm_sockets_new_listening_socket(struct fpm_worker_pool_s *wp, struct
|
||||
if (wp->listen_address_domain == FPM_AF_UNIX) {
|
||||
umask(saved_umask);
|
||||
}
|
||||
close(sock);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -203,6 +205,7 @@ static int fpm_sockets_new_listening_socket(struct fpm_worker_pool_s *wp, struct
|
||||
if (wp->socket_uid != -1 || wp->socket_gid != -1) {
|
||||
if (0 > chown(path, wp->socket_uid, wp->socket_gid)) {
|
||||
zlog(ZLOG_SYSERROR, "failed to chown() the socket '%s'", wp->config->listen_address);
|
||||
close(sock);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -210,6 +213,7 @@ static int fpm_sockets_new_listening_socket(struct fpm_worker_pool_s *wp, struct
|
||||
|
||||
if (0 > listen(sock, wp->config->listen_backlog)) {
|
||||
zlog(ZLOG_SYSERROR, "failed to listen to address '%s'", wp->config->listen_address);
|
||||
close(sock);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -34,6 +34,7 @@ int fpm_stdio_init_main() /* {{{ */
|
||||
|
||||
if (0 > dup2(fd, STDIN_FILENO) || 0 > dup2(fd, STDOUT_FILENO)) {
|
||||
zlog(ZLOG_SYSERROR, "failed to init stdio: dup2()");
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
close(fd);
|
||||
|
Loading…
Reference in New Issue
Block a user