]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/string.cpp
added wxUmaskChanger class and wxCHANGE_UMASK macro and use them instead of duplicati...
[wxWidgets.git] / src / common / string.cpp
index f42bd4dfd4e69d04a2eb20628da85769e1f12478..07a532d180981cd76eaeb9ab9faec418f5ba00ad 100644 (file)
@@ -1727,7 +1727,12 @@ int wxString::PrintfV(const wxChar* pszFormat, va_list argptr)
                 return -1;
             }
 
-            len = wxVsnprintf(buf, size, pszFormat, argptr);
+            // wxVsnprintf() may modify the original arg pointer, so pass it
+            // only a copy
+            va_list argptrcopy;
+            wxVaCopy(argptrcopy, argptr);
+            len = wxVsnprintf(buf, size, pszFormat, argptrcopy);
+            va_end(argptrcopy);
 
             // some implementations of vsnprintf() don't NUL terminate
             // the string if there is not enough space for it so