diff options
-rw-r--r-- | avahi-client/resolver.c | 3 | ||||
-rw-r--r-- | avahi-daemon/dbus-protocol.c | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/avahi-client/resolver.c b/avahi-client/resolver.c index 889088f..c548f01 100644 --- a/avahi-client/resolver.c +++ b/avahi-client/resolver.c @@ -144,6 +144,9 @@ DBusHandlerResult avahi_service_resolver_event (AvahiClient *client, AvahiResolv fprintf(stderr, "Failed to parse address\n"); goto fail; } + + if (address[0] == 0) + address = NULL; r->callback(r, (AvahiIfIndex) interface, (AvahiProtocol) protocol, AVAHI_RESOLVER_FOUND, name, type, domain, host, &a, port, strlst, (AvahiLookupResultFlags) flags, r->userdata); diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c index 25a9e8e..bec97cd 100644 --- a/avahi-daemon/dbus-protocol.c +++ b/avahi-daemon/dbus-protocol.c @@ -1558,8 +1558,10 @@ static void async_service_resolver_callback( /* avahi_log_debug(__FILE__": [%s] Successfully resolved service <%s.%s.%s>", i->path, name, type, domain); */ - assert(a); - avahi_address_snprint(t, sizeof(t), a); + if (a) + avahi_address_snprint(t, sizeof(t), a); + else + t[0] = 0; if (!name) name = ""; |