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; }