From d78f27c71607b327fa9c86b27de53c2e91849f1a Mon Sep 17 00:00:00 2001 From: david gauchard Date: Wed, 15 Apr 2020 09:34:22 +0200 Subject: [PATCH 1/2] mDNS: protect MDNSResponder::queryService against misuse --- libraries/ESP8266mDNS/src/LEAmDNS.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/ESP8266mDNS/src/LEAmDNS.cpp b/libraries/ESP8266mDNS/src/LEAmDNS.cpp index 6284324119..b2c46dd480 100644 --- a/libraries/ESP8266mDNS/src/LEAmDNS.cpp +++ b/libraries/ESP8266mDNS/src/LEAmDNS.cpp @@ -767,6 +767,10 @@ uint32_t MDNSResponder::queryService(const char* p_pcService, const char* p_pcProtocol, const uint16_t p_u16Timeout /*= MDNS_QUERYSERVICES_WAIT_TIME*/) { + if (0 == m_pUDPContext) + // safeguard against misuse + return 0; + DEBUG_EX_INFO(DEBUG_OUTPUT.printf_P(PSTR("[MDNSResponder] queryService '%s.%s'\n"), p_pcService, p_pcProtocol);); uint32_t u32Result = 0; From 2782f3dfd4ea9a836a5bfc1a3c68db6021f3f889 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Wed, 15 Apr 2020 17:08:57 +0200 Subject: [PATCH 2/2] fix style --- libraries/ESP8266mDNS/src/LEAmDNS.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/ESP8266mDNS/src/LEAmDNS.cpp b/libraries/ESP8266mDNS/src/LEAmDNS.cpp index b2c46dd480..87ff5167ff 100644 --- a/libraries/ESP8266mDNS/src/LEAmDNS.cpp +++ b/libraries/ESP8266mDNS/src/LEAmDNS.cpp @@ -768,8 +768,10 @@ uint32_t MDNSResponder::queryService(const char* p_pcService, const uint16_t p_u16Timeout /*= MDNS_QUERYSERVICES_WAIT_TIME*/) { if (0 == m_pUDPContext) + { // safeguard against misuse return 0; + } DEBUG_EX_INFO(DEBUG_OUTPUT.printf_P(PSTR("[MDNSResponder] queryService '%s.%s'\n"), p_pcService, p_pcProtocol););