X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-common%2Fstrlst.c;h=f8be27312bfc1756ae1de8acc2152f6d2faaaa77;hb=f14c2c41f84d65307411a6dab1aabac80e71d705;hp=c6ceb0f7351670c6c2dc087353fa854dac9009c9;hpb=1b9ed98f7bdf7ff20057cca848ccfdebf6f4dfdd;p=catta diff --git a/avahi-common/strlst.c b/avahi-common/strlst.c index c6ceb0f..f8be273 100644 --- a/avahi-common/strlst.c +++ b/avahi-common/strlst.c @@ -51,7 +51,7 @@ AvahiStringList*avahi_string_list_add_anonymous(AvahiStringList *l, size_t size) AvahiStringList *avahi_string_list_add_arbitrary(AvahiStringList *l, const uint8_t*text, size_t size) { AvahiStringList *n; - assert(text); + assert(size == 0 || text); if (!(n = avahi_string_list_add_anonymous(l, size))) return NULL; @@ -337,8 +337,11 @@ AvahiStringList *avahi_string_list_add_vprintf(AvahiStringList *l, const char *f for (;;) { int n; AvahiStringList *nr; + va_list va2; - n = vsnprintf((char*) r->text, len+1, format, va); + va_copy(va2, va); + n = vsnprintf((char*) r->text, len, format, va2); + va_end(va2); if (n >= 0 && n < (int) len) break; @@ -355,7 +358,6 @@ AvahiStringList *avahi_string_list_add_vprintf(AvahiStringList *l, const char *f r = nr; } - r->next = l; r->size = strlen((char*) r->text);