summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--avahi-client/resolver.c3
-rw-r--r--avahi-daemon/dbus-protocol.c6
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 = "";