From b28535d1da0d6be9bbf76983c8368c6dd5f800b6 Mon Sep 17 00:00:00 2001 From: Bruce Mitchener Date: Wed, 25 Apr 2018 22:32:24 +0700 Subject: [PATCH] ImGuiTextBuffer::appendfv needs to va_end the args_copy. --- imgui.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/imgui.cpp b/imgui.cpp index f5ebd289..77a4437f 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -1762,7 +1762,10 @@ void ImGuiTextBuffer::appendfv(const char* fmt, va_list args) int len = ImFormatStringV(NULL, 0, fmt, args); // FIXME-OPT: could do a first pass write attempt, likely successful on first pass. if (len <= 0) + { + va_end(args_copy); return; + } const int write_off = Buf.Size; const int needed_sz = write_off + len; @@ -1774,6 +1777,7 @@ void ImGuiTextBuffer::appendfv(const char* fmt, va_list args) Buf.resize(needed_sz); ImFormatStringV(&Buf[write_off - 1], (size_t)len + 1, fmt, args_copy); + va_end(args_copy); } void ImGuiTextBuffer::appendf(const char* fmt, ...)