diff --git a/src/tests/test-getusername.cpp b/src/tests/test-getusername.cpp index c2c9d1c2d..825e94960 100644 --- a/src/tests/test-getusername.cpp +++ b/src/tests/test-getusername.cpp @@ -26,9 +26,11 @@ TEST(GetUserName,simple) // GetUserName sets lpnSize to length of username including null ASSERT_EQ(username.size()+1, lpnSize); - // copy UTF-16 bytes from lpBuffer to vector for conversion - vector input(reinterpret_cast(&lpBuffer[0]), - reinterpret_cast(&lpBuffer[lpnSize-1])); + // copy UTF-16 bytes (excluding null) from lpBuffer to vector for conversion + unsigned char *begin = reinterpret_cast(&lpBuffer[0]); + // -1 to skip null; *2 because UTF-16 encodes two bytes per character + unsigned char *end = begin + (lpnSize-1)*2; + vector input(begin, end); // convert to UTF-8 for assertion string output; Utf16leToUtf8(input, output);