]> git.lizzy.rs Git - irrlicht.git/commitdiff
Fix buffer size for wchar-multibyte conversion
authorsfan5 <sfan5@live.de>
Fri, 14 Oct 2022 13:44:57 +0000 (15:44 +0200)
committersfan5 <sfan5@live.de>
Fri, 14 Oct 2022 13:47:49 +0000 (15:47 +0200)
include/irrString.h

index f454aed483f2a31598c3fa1c3415303f5cc2c189..d8757af8c53a4b2bce1c08f7f3c67ed828bad55d 100644 (file)
@@ -1503,12 +1503,12 @@ static size_t wStringToMultibyte(string<c8>& destination, const wchar_t* source,
 {\r
        if ( sourceSize )\r
        {\r
-               destination.reserve(sourceSize+1);\r
+               destination.reserve(sizeof(wchar_t)*sourceSize+1);\r
 #if defined(_MSC_VER)\r
 #pragma warning(push)\r
 #pragma warning(disable: 4996) // 'wcstombs': This function or variable may be unsafe. Consider using wcstombs_s instead.\r
 #endif\r
-               const size_t written = wcstombs(destination.array, source, (size_t)sourceSize);\r
+               const size_t written = wcstombs(destination.array, source, destination.allocated-1);\r
 #if defined(_MSC_VER)\r
 #pragma warning(pop)\r
 #endif\r