From 64f8f94ca0797f2d4a0c7daf34500ccc23c7d83e Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 29 Oct 2006 15:51:10 +0000 Subject: [PATCH] deal correctly with vsnprintf() implementations which always NUL-terminate the buffer, even if there is not enough space (recent glibc ones do it like this) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/string.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/common/string.cpp b/src/common/string.cpp index e7ab5d2615..8f20b9ac13 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -1815,9 +1815,11 @@ int wxString::PrintfV(const wxChar* pszFormat, va_list argptr) // current size of the buffer size *= 2; } - else if ( len > size ) + else if ( len >= size ) { - size = len; + // some vsnprintf() implementations NUL-terminate the buffer and + // some don't in len == size case, to be safe always add 1 + size = len + 1; } else // ok, there was enough space { -- 2.45.2