# HG changeset patch # User Markus Mützel # Date 1641930238 -3600 # Node ID f1cec1134dd1f6c4b4c35010418aaf26a194b557 # Parent b55189efd92a64e874fb54e33a5662e5d2d3cd40# Parent 51770116f835fb081dfc9a23b39c6092b1ed59fa maint: Merge stable to default. diff -r b55189efd92a -r f1cec1134dd1 libinterp/corefcn/sysdep.cc --- a/libinterp/corefcn/sysdep.cc Tue Jan 11 19:25:24 2022 +0100 +++ b/libinterp/corefcn/sysdep.cc Tue Jan 11 20:43:58 2022 +0100 @@ -951,9 +951,10 @@ else if (type == REG_SZ || type == REG_EXPAND_SZ) { // strings in registry might not be zero terminated + wchar_t *dataw = reinterpret_cast (data); + DWORD lengthw = length / sizeof (wchar_t); std::wstring reg_string - = std::wstring (reinterpret_cast (data), - length / sizeof (wchar_t)); + = std::wstring (dataw, lengthw - (dataw[lengthw-1]==0)); value = string_vector (sys::u8_from_wstring (reg_string)); }