From a56fcd4e981802f82b2dfadd125061d49ef8b104 Mon Sep 17 00:00:00 2001 From: hrydgard Date: Sun, 14 Sep 2008 09:12:19 +0000 Subject: Fixed some valgrind warnings. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@523 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/Common/Src/StringUtil.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Source/Core/Common/Src/StringUtil.cpp') diff --git a/Source/Core/Common/Src/StringUtil.cpp b/Source/Core/Common/Src/StringUtil.cpp index 590b20fc4a..638c301f24 100644 --- a/Source/Core/Common/Src/StringUtil.cpp +++ b/Source/Core/Common/Src/StringUtil.cpp @@ -165,6 +165,11 @@ void StringFromFormatV(std::string* out, const char* format, va_list args) delete [] buf; buf = new char[newSize + 1]; writtenCount = vsnprintf(buf, newSize, format, args); + // ARGH! vsnprintf does no longer return -1 on truncation in newer libc! + // WORKAROUND! let's fake the old behaviour (even though it's less efficient). + // TODO: figure out why the fix causes an invalid read in strlen called from vsnprintf :( + if (writtenCount >= (int)newSize) + writtenCount = -1; newSize *= 2; } -- cgit v1.2.3