From dd0f80e3e28f2c4a0195d763f861594a9265ef1f Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Tue, 13 Jun 2006 15:54:11 +0000 Subject: Make a copy of the va_list as vsnprintf() is free to change it. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1017 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/polypcore/core-util.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/polypcore/core-util.c b/src/polypcore/core-util.c index 6cf281c5..dfa41f57 100644 --- a/src/polypcore/core-util.c +++ b/src/polypcore/core-util.c @@ -366,8 +366,14 @@ char *pa_vsprintf_malloc(const char *format, va_list ap) { for(;;) { int r; + va_list aq; + + va_copy(aq, ap); + c = pa_xrealloc(c, size); - r = vsnprintf(c, size, format, ap); + r = vsnprintf(c, size, format, aq); + + va_end(aq); if (r > -1 && r < size) return c; -- cgit