diff --git a/dlls/kernel32/profile.c b/dlls/kernel32/profile.c index 9b6b1a1..e52cd66 100644 --- a/dlls/kernel32/profile.c +++ b/dlls/kernel32/profile.c @@ -1114,9 +1114,10 @@ static int PROFILE_GetPrivateProfileString( LPCWSTR section, LPCWSTR entry, } else if (buffer && def_val) { lstrcpynW( buffer, def_val, len ); ret = strlenW( buffer ); - } - else + } else { + buffer[0] = 0; /* buffer must be a null terminated empty string */ ret = 0; + } RtlLeaveCriticalSection( &PROFILE_CritSect ); diff --git a/dlls/kernel32/tests/profile.c b/dlls/kernel32/tests/profile.c index 4c0964c..2f0ff13 100644 --- a/dlls/kernel32/tests/profile.c +++ b/dlls/kernel32/tests/profile.c @@ -347,7 +347,6 @@ static void test_profile_existing(void) else { ok( !ret, "%d: GetPrivateProfileString succeeded\n", i ); - todo_wine ok( buffer[ret] == 0, "Get GetPrivateProfileString should terminate buffer with null\n" ); } CloseHandle(h);