From 47865f9ca465d33ca94d57b14121db428f0df68f Mon Sep 17 00:00:00 2001 From: phil <me@filou.se> Date: Wed, 20 Oct 2021 08:07:47 +0200 Subject: [PATCH] segfault fix --- src/utils/mdns-avahi.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/utils/mdns-avahi.c b/src/utils/mdns-avahi.c index 060453d..6af511a 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, -- GitLab