X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;ds=sidebyside;f=avahi-client%2Fresolver.c;fp=avahi-client%2Fresolver.c;h=f23f9d79e1e6d3faafc438e3f2a835c83fbdd551;hb=88b84af7e3fe41a46ddf8ef39cd3b2f90369fc5e;hp=66208cf48461cdb5dd390885ce6df5c26beae7bc;hpb=7bf79a1a47143d0b2d1eb87fe1b938f870edc5b2;p=catta diff --git a/avahi-client/resolver.c b/avahi-client/resolver.c index 66208cf..f23f9d7 100644 --- a/avahi-client/resolver.c +++ b/avahi-client/resolver.c @@ -93,8 +93,7 @@ static void pending_call_callback(DBusPendingCall *pending, void *userdata) { for (;;) { DBusMessageIter sub2; - int at, n; - uint8_t *k; + int at; if ((at = dbus_message_iter_get_arg_type(&sub)) == DBUS_TYPE_INVALID) break; @@ -107,8 +106,14 @@ static void pending_call_callback(DBusPendingCall *pending, void *userdata) { } dbus_message_iter_recurse(&sub, &sub2); - dbus_message_iter_get_fixed_array(&sub2, &k, &n); - strlst = avahi_string_list_add_arbitrary(strlst, k, n); + + if (dbus_message_iter_get_array_len(&sub2) > 0) { + uint8_t *k; + int n; + + dbus_message_iter_get_fixed_array(&sub2, &k, &n); + strlst = avahi_string_list_add_arbitrary(strlst, k, n); + } dbus_message_iter_next(&sub); }