summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/polypcore/core-util.c8
1 files changed, 7 insertions, 1 deletions
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;