From 1423716c8ffda291a823b35a5d95c41f94ece0d0 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 16 Feb 2010 23:46:24 +0000 Subject: [PATCH] Merged revisions 247076 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r247076 | mmichelson | 2010-02-16 17:44:33 -0600 (Tue, 16 Feb 2010) | 12 lines Add va_end calls to __ast_str_helper. According to the man page for stdarg(3), "Each invocation of va_copy() must be matched by a corresponding invocation of va_end() in the same function." There were several cases in __ast_str_helper where va_copy was not matched with a corresponding call to va_end. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@247078 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/utils.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/main/utils.c b/main/utils.c index 89ea3c7496..f82c20f296 100644 --- a/main/utils.c +++ b/main/utils.c @@ -1796,6 +1796,7 @@ int __ast_str_helper(struct ast_str **buf, size_t max_len, } if (ast_str_make_space(buf, need)) { ast_verbose("failed to extend from %d to %d\n", (int)(*buf)->len, need); + va_end(aq); return AST_DYNSTR_BUILD_FAILED; } (*buf)->str[offset] = '\0'; /* Truncate the partial write. */ @@ -1804,6 +1805,7 @@ int __ast_str_helper(struct ast_str **buf, size_t max_len, va_end(aq); continue; } + va_end(aq); break; } while (1); /* update space used, keep in mind the truncation */ -- 2.47.2