From 64e835103c642d7f47dae4864713f9e25f0c3275 Mon Sep 17 00:00:00 2001 From: Willyanto Willyanto Date: Tue, 17 Jan 2023 22:48:07 +0700 Subject: [PATCH] Call va_end() before return Fixes va_list 'arg' was opened but not closed by va_end(). (CWE-664) --- core/synctex/synctex_parser_utils.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/synctex/synctex_parser_utils.c b/core/synctex/synctex_parser_utils.c index 8bac28cca..a8b1cf62a 100644 --- a/core/synctex/synctex_parser_utils.c +++ b/core/synctex/synctex_parser_utils.c @@ -94,6 +94,7 @@ int _synctex_log(int level, const char *prompt, const char *reason, ...) result = _vsnprintf(buff, buffersize - 1, reason, arg); } if (-1 == result) { + va_end(arg); // could not make the buffer big enough or simply could not write to it free(buff); return -1; @@ -357,6 +358,7 @@ char *_synctex_merge_strings(const char *first, ...) do { size_t len = strlen(temp); if (UINT_MAX - len < size) { + va_end(arg); _synctex_error("! _synctex_merge_strings: Capacity exceeded."); return NULL; }