tony2001 Tue Oct 25 10:57:14 2005 EDT Modified files: (Branch: PHP_5_1) /php-src/ext/standard dns.c Log: MFH: apply workaround for the leak only when GLIBC is used http://cvs.php.net/diff.php/php-src/ext/standard/dns.c?r1=1.70.2.4&r2=1.70.2.5&ty=u Index: php-src/ext/standard/dns.c diff -u php-src/ext/standard/dns.c:1.70.2.4 php-src/ext/standard/dns.c:1.70.2.5 --- php-src/ext/standard/dns.c:1.70.2.4 Tue Oct 25 04:19:33 2005 +++ php-src/ext/standard/dns.c Tue Oct 25 10:57:14 2005 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dns.c,v 1.70.2.4 2005/10/25 08:19:33 tony2001 Exp $ */ +/* $Id: dns.c,v 1.70.2.5 2005/10/25 14:57:14 tony2001 Exp $ */ /* {{{ includes */ #include "php.h" @@ -366,6 +366,9 @@ * res_thread_freeres() in glibc/resolv/res_init.c * __libc_res_nsend() in resolv/res_send.c * */ + +#ifdef __GLIBC__ +#define php_dns_free_res(__res__) _php_dns_free_res(__res__) static void _php_dns_free_res(struct __res_state res) { /* {{{ */ int ns; for (ns = 0; ns < MAXNS; ns++) { @@ -375,6 +378,9 @@ } } } /* }}} */ +#else +#define php_dns_free_res(__res__) +#endif /* {{{ php_parserr */ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int store, zval **subarray) @@ -763,7 +769,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, "res_nmkquery() failed"); zval_dtor(return_value); res_nclose(&res); - _php_dns_free_res(res); + php_dns_free_res(res); RETURN_FALSE; } n = res_nsend(&res, buf.qb2, n, answer.qb2, sizeof answer); @@ -771,7 +777,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, "res_nsend() failed"); zval_dtor(return_value); res_nclose(&res); - _php_dns_free_res(res); + php_dns_free_res(res); RETURN_FALSE; } @@ -790,7 +796,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to parse DNS data received"); zval_dtor(return_value); res_nclose(&res); - _php_dns_free_res(res); + php_dns_free_res(res); RETURN_FALSE; } cp += n + QFIXEDSZ; @@ -806,7 +812,7 @@ } } res_nclose(&res); - _php_dns_free_res(res); + php_dns_free_res(res); } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php