Detlef Riekenberg : kernel32/tests: Fix a crash on win9x ( lpDefault is truncated inplace).
Alexandre Julliard
julliard at winehq.org
Mon Jul 28 08:07:19 CDT 2008
Module: wine
Branch: master
Commit: 5437f4ce9ce9c6bb61e425c93e6497ea58d8d2bd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5437f4ce9ce9c6bb61e425c93e6497ea58d8d2bd
Author: Detlef Riekenberg <wine.dev at web.de>
Date: Sun Jul 27 15:29:31 2008 +0200
kernel32/tests: Fix a crash on win9x (lpDefault is truncated inplace).
---
dlls/kernel32/tests/profile.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/tests/profile.c b/dlls/kernel32/tests/profile.c
index 91ff982..46dfe72 100644
--- a/dlls/kernel32/tests/profile.c
+++ b/dlls/kernel32/tests/profile.c
@@ -363,6 +363,7 @@ static void test_GetPrivateProfileString(void)
{
DWORD ret;
CHAR buf[MAX_PATH];
+ CHAR def_val[MAX_PATH];
CHAR path[MAX_PATH];
CHAR windir[MAX_PATH];
LPSTR tempfile;
@@ -416,14 +417,18 @@ static void test_GetPrivateProfileString(void)
/* lpAppName is empty, lpDefault has trailing blank characters */
lstrcpyA(buf, "kumquat");
- ret = GetPrivateProfileStringA("", "name1", "default ",
+ /* lpDefault must be writeable (trailing blanks are removed inplace in win9x) */
+ lstrcpyA(def_val, "default ");
+ ret = GetPrivateProfileStringA("", "name1", def_val,
buf, MAX_PATH, filename);
ok(ret == 7, "Expected 7, got %d\n", ret);
ok(!lstrcmpA(buf, "default"), "Expected \"default\", got \"%s\"\n", buf);
/* lpAppName is empty, many blank characters in lpDefault */
lstrcpyA(buf, "kumquat");
- ret = GetPrivateProfileStringA("", "name1", "one two ",
+ /* lpDefault must be writeable (trailing blanks are removed inplace in win9x) */
+ lstrcpyA(def_val, "one two ");
+ ret = GetPrivateProfileStringA("", "name1", def_val,
buf, MAX_PATH, filename);
ok(ret == 7, "Expected 7, got %d\n", ret);
ok(!lstrcmpA(buf, "one two"), "Expected \"one two\", got \"%s\"\n", buf);
@@ -473,7 +478,9 @@ static void test_GetPrivateProfileString(void)
/* lpKeyName is empty, lpDefault has trailing blank characters */
lstrcpyA(buf, "kumquat");
- ret = GetPrivateProfileStringA("section1", "", "default ",
+ /* lpDefault must be writeable (trailing blanks are removed inplace in win9x) */
+ lstrcpyA(def_val, "default ");
+ ret = GetPrivateProfileStringA("section1", "", def_val,
buf, MAX_PATH, filename);
ok(ret == 7, "Expected 7, got %d\n", ret);
ok(!lstrcmpA(buf, "default"), "Expected \"default\", got \"%s\"\n", buf);
More information about the wine-cvs
mailing list