From 4c368c009087258dd18dcccfa1928cce60c842d4 Mon Sep 17 00:00:00 2001 From: Jiacheng Guo Date: Tue, 27 Jul 2021 12:06:01 +0800 Subject: [PATCH] mdns: fix crash when adding services without hostname set * Original commit: espressif/esp-idf@5e98772eaf7e50d96cf2e6ecdfedcd928b61c864 --- components/mdns/mdns.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/components/mdns/mdns.c b/components/mdns/mdns.c index ea69afccc..508672d30 100644 --- a/components/mdns/mdns.c +++ b/components/mdns/mdns.c @@ -178,7 +178,7 @@ static mdns_srv_item_t * _mdns_get_service_item(const char * service, const char static mdns_host_item_t * mdns_get_host_item(const char * hostname) { - if (strcasecmp(hostname, _mdns_server->hostname) == 0) { + if (hostname == NULL || strcasecmp(hostname, _mdns_server->hostname) == 0) { return &_mdns_self_host; } mdns_host_item_t * host = _mdns_host_list; @@ -4898,8 +4898,7 @@ esp_err_t mdns_instance_name_set(const char * instance) esp_err_t mdns_service_add_for_host(const char * instance, const char * service, const char * proto, const char * hostname, uint16_t port, mdns_txt_item_t txt[], size_t num_items) { - if (!_mdns_server || _str_null_or_empty(service) || _str_null_or_empty(proto) || _str_null_or_empty(hostname) || - !port) { + if (!_mdns_server || _str_null_or_empty(service) || _str_null_or_empty(proto) || !port) { return ESP_ERR_INVALID_ARG; } @@ -4959,7 +4958,7 @@ esp_err_t mdns_service_add_for_host(const char * instance, const char * service, esp_err_t mdns_service_add(const char * instance, const char * service, const char * proto, uint16_t port, mdns_txt_item_t txt[], size_t num_items) { - if (!_mdns_server || _str_null_or_empty(_mdns_server->hostname)) { + if (!_mdns_server) { return ESP_ERR_INVALID_STATE; } return mdns_service_add_for_host(instance, service, proto, _mdns_server->hostname, port, txt, num_items);