tony2001 Thu May 12 12:26:27 2005 EDT Modified files: /php-src/ext/sockets sockets.c Log: fix #33019 (socket errors cause memory leaks in php_strerror()) patch by jwozniak23 at poczta dot onet dot pl http://cvs.php.net/diff.php/php-src/ext/sockets/sockets.c?r1=1.169&r2=1.170&ty=u Index: php-src/ext/sockets/sockets.c diff -u php-src/ext/sockets/sockets.c:1.169 php-src/ext/sockets/sockets.c:1.170 --- php-src/ext/sockets/sockets.c:1.169 Mon Feb 14 18:44:23 2005 +++ php-src/ext/sockets/sockets.c Thu May 12 12:26:26 2005 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sockets.c,v 1.169 2005/02/14 23:44:23 sniper Exp $ */ +/* $Id: sockets.c,v 1.170 2005/05/12 16:26:26 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -321,6 +321,10 @@ buf = hstrerror(error); #else { + if (SOCKETS_G(strerror_buf)) { + efree(SOCKETS_G(strerror_buf)); + } + spprintf(&(SOCKETS_G(strerror_buf)), 0, "Host lookup error %d", error); buf = SOCKETS_G(strerror_buf); } @@ -335,6 +339,11 @@ if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &tmp, 0, NULL)) { + + if (SOCKETS_G(strerror_buf)) { + efree(SOCKETS_G(strerror_buf)); + } + SOCKETS_G(strerror_buf) = estrdup(tmp); LocalFree(tmp);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php