- if (k > 0) /* Ignore empty strings */
- r = avahi_string_list_add_arbitrary(r, c, k);
- c += k;
+ if (k > size)
+ goto fail; /* Overflow */
+
+ if (k > 0) { /* Ignore empty strings */
+ AvahiStringList *n;
+
+ if (!(n = avahi_string_list_add_arbitrary(r, c, k)))
+ goto fail; /* OOM */