]> granicus.if.org Git - php/commitdiff
Fix #53092 - dns_get_record does not return false on dns server failure
authorTjerk Meesters <datibbaw@php.net>
Sun, 13 Jul 2014 10:23:25 +0000 (18:23 +0800)
committerStanislav Malyshev <stas@php.net>
Mon, 1 Dec 2014 06:39:09 +0000 (22:39 -0800)
ext/standard/dns.c

index 0b5e69ca58cc13b9f4e7f78dbac0c89aa5fb5e26..79e5f1a3ff469676db487168f2412240d4cb8ec9 100644 (file)
@@ -897,7 +897,13 @@ PHP_FUNCTION(dns_get_record)
 
                        if (n < 0) {
                                php_dns_free_handle(handle);
-                               continue;
+                               if (h_errno == NO_DATA) {
+                                       continue;
+                               } else {
+                                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Dns Query failed");
+                                       zval_dtor(return_value);
+                                       RETURN_FALSE;
+                               }
                        }
 
                        cp = answer.qb2 + HFIXEDSZ;