From a06eed0c0ec03bdbb0f97aede393b5c687041d88 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 10 Aug 2020 16:53:31 +0200 Subject: Fix bug #79944 Only return true from dns_get_mx if we actually found any MX record. --- NEWS | 1 + ext/standard/dns.c | 2 +- ext/standard/tests/network/getmxrr.phpt | 22 +++++++++++++--------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/NEWS b/NEWS index ec597b4153..410b74a893 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,7 @@ PHP NEWS - Standard: . Fixed bug #79930 (array_merge_recursive() crashes when called with array with single reference). (Nikita) + . Fixed bug #79944 (getmxrr always returns true on Alpine linux). (Nikita) - XML: . Fixed bug #79922 (Crash after multiple calls to xml_parser_free()). (cmb) diff --git a/ext/standard/dns.c b/ext/standard/dns.c index 705c8e4fad..56fb83eade 100644 --- a/ext/standard/dns.c +++ b/ext/standard/dns.c @@ -1114,7 +1114,7 @@ PHP_FUNCTION(dns_get_mx) } } php_dns_free_handle(handle); - RETURN_TRUE; + RETURN_BOOL(zend_hash_num_elements(Z_ARRVAL_P(weight_list)) != 0); } /* }}} */ #endif /* HAVE_FULL_DNS_FUNCS */ diff --git a/ext/standard/tests/network/getmxrr.phpt b/ext/standard/tests/network/getmxrr.phpt index c4a15c52ce..52228685b0 100644 --- a/ext/standard/tests/network/getmxrr.phpt +++ b/ext/standard/tests/network/getmxrr.phpt @@ -10,15 +10,19 @@ if (substr(PHP_OS, 0, 3) == 'WIN') { ?> --FILE-- --EXPECT-- -Hosts: 1, weights: 1 -Hosts: 2, weights: 2 +Result: true, hosts: 1, weights: 1 +Result: true, hosts: 2, weights: 2 +Result: false, hosts: 0, weights: 0 -- cgit v1.2.1