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 = ""; | 
