X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=lib%2Ftalloc%2Ftalloc.c;h=d3e2065d36f3b5e34008fa5d075f587245c58c1a;hp=dd108938759e2629737ddd20e9880642cd390c30;hb=2163af58b5e631a2a8d2acd79b541ed884ab7b57;hpb=c75e362781057bc982799d300eebfd47417ad23e diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c index dd10893..d3e2065 100644 --- a/lib/talloc/talloc.c +++ b/lib/talloc/talloc.c @@ -760,7 +760,7 @@ off_t talloc_total_blocks(const void *ptr) /* return the number of external references to a pointer */ -static int talloc_reference_count(const void *ptr) +int talloc_reference_count(const void *ptr) { struct talloc_chunk *tc = talloc_chunk_from_ptr(ptr); struct talloc_reference_handle *h; @@ -984,6 +984,7 @@ char *talloc_vasprintf(const void *t, const char *fmt, va_list ap) talloc_set_name_const(ret, ret); } + va_end(ap2); return ret; } @@ -1031,13 +1032,16 @@ static char *talloc_vasprintf_append(char *s, const char *fmt, va_list ap) len = vsnprintf(NULL, 0, fmt, ap2); s = talloc_realloc(NULL, s, char, s_len + len+1); - if (!s) return NULL; + if (!s) + goto out; VA_COPY(ap2, ap); vsnprintf(s+s_len, len+1, fmt, ap2); talloc_set_name_const(s, s); +out: + va_end(ap2); return s; }