summaryrefslogtreecommitdiffstats
path: root/avahi-client/resolver.c
diff options
context:
space:
mode:
Diffstat (limited to 'avahi-client/resolver.c')
-rw-r--r--avahi-client/resolver.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/avahi-client/resolver.c b/avahi-client/resolver.c
index 2d9f808..4403a12 100644
--- a/avahi-client/resolver.c
+++ b/avahi-client/resolver.c
@@ -106,6 +106,8 @@ DBusHandlerResult avahi_service_resolver_event (AvahiClient *client, AvahiResolv
for (;;) {
DBusMessageIter sub2;
int at;
+ const uint8_t *k;
+ int n;
if ((at = dbus_message_iter_get_arg_type(&sub)) == DBUS_TYPE_INVALID)
break;
@@ -119,13 +121,10 @@ DBusHandlerResult avahi_service_resolver_event (AvahiClient *client, AvahiResolv
dbus_message_iter_recurse(&sub, &sub2);
- if (dbus_message_iter_get_array_len(&sub2) > 0) {
- uint8_t *k;
- int n;
-
- dbus_message_iter_get_fixed_array(&sub2, &k, &n);
+ k = NULL; n = 0;
+ dbus_message_iter_get_fixed_array(&sub2, &k, &n);
+ if (k && n > 0)
strlst = avahi_string_list_add_arbitrary(strlst, k, n);
- }
dbus_message_iter_next(&sub);
}