diff --git a/src/utils/mdns-avahi.c b/src/utils/mdns-avahi.c index 060453d030760ab15c60e8342530d40983e7d428..6af511a4c726cfdfd52b335d4ee1436be69d91ae 100644 --- a/src/utils/mdns-avahi.c +++ b/src/utils/mdns-avahi.c @@ -324,6 +324,8 @@ static void resolve_callback( char * txtstr = NULL; uint16_t txtlen = 0; + enum aes67_net_ipver ipver = aes67_net_ipver_undefined; + const uint8_t * ip = NULL; enum aes67_mdns_result result = aes67_mdns_result_error; @@ -342,21 +344,20 @@ static void resolve_callback( result = aes67_mdns_result_discovered; } txtstr = avahi_string_list_to_raw(txt, &txtlen); + + if (address){ + if (address->proto == AVAHI_PROTO_INET){ + ipver = aes67_net_ipver_4; + ip = (uint8_t*)&address->data.ipv4.address; + } else if (address->proto == AVAHI_PROTO_INET6){ + ipver = aes67_net_ipver_6; + ip = address->data.ipv6.address; + } + } break; } } - - enum aes67_net_ipver ipver = aes67_net_ipver_undefined; - const uint8_t * ip = NULL; - if (address->proto == AVAHI_PROTO_INET){ - ipver = aes67_net_ipver_4; - ip = (uint8_t*)&address->data.ipv4.address; - } else if (address->proto == AVAHI_PROTO_INET6){ - ipver = aes67_net_ipver_6; - ip = address->data.ipv6.address; - } - uint16_t ttl = 0; ((aes67_mdns_resolve_callback) res->callback)(res, result, type, name, host_name,