diff options
author | Jim McDonough <jmcd@samba.org> | 2002-05-17 14:51:22 +0000 |
---|---|---|
committer | Jim McDonough <jmcd@samba.org> | 2002-05-17 14:51:22 +0000 |
commit | c7523c57512258007f0ac5271697fc6a9f4618d6 (patch) | |
tree | 43ab98ce3e97f2a910c15ef76978bb46a8471407 /source3/lib/util.c | |
parent | 31cda568c05624ef5e7fd2970c5f2733e67eedc3 (diff) | |
download | samba-c7523c57512258007f0ac5271697fc6a9f4618d6.tar.gz samba-c7523c57512258007f0ac5271697fc6a9f4618d6.tar.xz samba-c7523c57512258007f0ac5271697fc6a9f4618d6.zip |
Fix usage of va_list passed as an arg. Use __va_copy before using it
when it exists.
(This used to be commit 85ab07bdc1b2ce7b2c1b8197fad45124b1460dca)
Diffstat (limited to 'source3/lib/util.c')
-rw-r--r-- | source3/lib/util.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c index bb9b96b3615..d9be67599fc 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -1815,7 +1815,13 @@ char *smb_xstrdup(const char *s) int smb_xvasprintf(char **ptr, const char *format, va_list ap) { int n; - n = vasprintf(ptr, format, ap); + va_list ap2; +#if defined(HAVE_VA_COPY) + __va_copy(ap2, ap); +#else + ap2 = ap; +#endif + n = vasprintf(ptr, format, ap2); if (n == -1 || ! *ptr) { smb_panic("smb_xvasprintf: out of memory"); } |