From 62dbb80cb6aa770bba771f57cea4643217b509d3 Mon Sep 17 00:00:00 2001 From: David Young Date: Tue, 16 Jun 2020 15:00:13 -0500 Subject: Fix va_list usage in the vasprintf(3) implementation. --- src/H5system.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/H5system.c b/src/H5system.c index f5c3fae..6722488 100644 --- a/src/H5system.c +++ b/src/H5system.c @@ -77,13 +77,18 @@ static hbool_t H5_ntzset = FALSE; * unavailable. */ int -HDvasprintf(char **bufp, const char *fmt, va_list ap) +HDvasprintf(char **bufp, const char *fmt, va_list _ap) { char *buf; /* buffer to receive formatted string */ size_t bufsz; /* size of buffer to allocate */ for (bufsz = 32; (buf = HDmalloc(bufsz)) != NULL; ) { - const int ret = HDvsnprintf(buf, bufsz, fmt, ap); + int ret; + va_list ap; + + va_copy(ap, _ap); + ret = HDvsnprintf(buf, bufsz, fmt, ap); + va_end(ap); if (ret >= 0 && (size_t)ret < bufsz) { *bufp = buf; return ret; -- cgit v0.12