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

Reply via email to