]> granicus.if.org Git - php/commitdiff
MFB51: Fixed memory leak on error.
authorIlia Alshanetsky <iliaa@php.net>
Sun, 23 Oct 2005 15:29:38 +0000 (15:29 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 23 Oct 2005 15:29:38 +0000 (15:29 +0000)
ext/standard/dns.c

index e617ff4915dc5e38d9e8bf980542f9306e4b72cf..8ee27e0daf164d2af7ce11d74f9ab174c8894af2 100644 (file)
@@ -358,7 +358,7 @@ PHP_MINIT_FUNCTION(dns) {
 #endif /* QFIXEDSZ */
 
 #ifndef MAXHOSTNAMELEN
-#define MAXHOSTNAMELEN  256
+#define MAXHOSTNAMELEN  1024
 #endif /* MAXHOSTNAMELEN */
 
 #ifndef MAXRESOURCERECORDS
@@ -755,12 +755,14 @@ PHP_FUNCTION(dns_get_record)
                        if (n<0) {
                                php_error_docref(NULL TSRMLS_CC, E_WARNING, "res_nmkquery() failed");
                                zval_dtor(return_value);
+                               res_nclose(&res);
                                RETURN_FALSE;
                        }
                        n = res_nsend(&res, buf.qb2, n, answer.qb2, sizeof answer);
                        if (n<0) {
                                php_error_docref(NULL TSRMLS_CC, E_WARNING, "res_nsend() failed");
                                zval_dtor(return_value);
+                               res_nclose(&res);
                                RETURN_FALSE;
                        }
                
@@ -778,6 +780,7 @@ PHP_FUNCTION(dns_get_record)
                                if (n < 0) {
                                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to parse DNS data received");
                                        zval_dtor(return_value);
+                                       res_nclose(&res);
                                        RETURN_FALSE;
                                }
                                cp += n + QFIXEDSZ;