perf strbuf: Remove redundant va_end() in strbuf_addv()

Each call to va_copy() should have one, and only one, corresponding call
to va_end(). In strbuf_addv() some code paths result in va_end() getting
called multiple times. Remove the superfluous va_end().

Signed-off-by: Mattias Jacobsson <2pi@mok.nu>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sanskriti Sharma <sansharm@redhat.com>
Link: http://lkml.kernel.org/r/20181229141750.16945-1-2pi@mok.nu
Fixes: ce49d8436c ("perf strbuf: Match va_{add,copy} with va_end")
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Mattias Jacobsson 2018-12-29 15:17:50 +01:00 committed by Arnaldo Carvalho de Melo
parent 442b4eb3af
commit 099be74886

View File

@ -109,7 +109,6 @@ static int strbuf_addv(struct strbuf *sb, const char *fmt, va_list ap)
return ret; return ret;
} }
len = vsnprintf(sb->buf + sb->len, sb->alloc - sb->len, fmt, ap_saved); len = vsnprintf(sb->buf + sb->len, sb->alloc - sb->len, fmt, ap_saved);
va_end(ap_saved);
if (len > strbuf_avail(sb)) { if (len > strbuf_avail(sb)) {
pr_debug("this should not happen, your vsnprintf is broken"); pr_debug("this should not happen, your vsnprintf is broken");
va_end(ap_saved); va_end(ap_saved);