From 0647abc5071913506e681bfc5239f9a6078dca54 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 10 May 2017 15:29:11 -0500 Subject: [PATCH] user32/tests: Test resulting size of strings with trailing nulls. Signed-off-by: Alexandre Julliard --- dlls/user32/tests/clipboard.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/dlls/user32/tests/clipboard.c b/dlls/user32/tests/clipboard.c index 17fc02827eb..5527a6e8dc7 100644 --- a/dlls/user32/tests/clipboard.c +++ b/dlls/user32/tests/clipboard.c @@ -482,19 +482,19 @@ todo_wine static HGLOBAL create_textA(void) { - HGLOBAL h = GlobalAlloc(GMEM_DDESHARE|GMEM_MOVEABLE, 5); + HGLOBAL h = GlobalAlloc(GMEM_DDESHARE|GMEM_MOVEABLE, 10); char *p = GlobalLock(h); - strcpy(p, "test"); + memcpy(p, "test\0\0\0\0\0", 10); GlobalUnlock(h); return h; } static HGLOBAL create_textW(void) { - static const WCHAR testW[] = {'t','e','s','t',0}; - HGLOBAL h = GlobalAlloc(GMEM_DDESHARE|GMEM_MOVEABLE, 5 * sizeof(WCHAR)); + static const WCHAR testW[] = {'t','e','s','t',0,0,0,0,0,0}; + HGLOBAL h = GlobalAlloc(GMEM_DDESHARE|GMEM_MOVEABLE, sizeof(testW)); WCHAR *p = GlobalLock(h); - lstrcpyW(p, testW); + memcpy(p, testW, sizeof(testW)); GlobalUnlock(h); return h; } @@ -767,7 +767,9 @@ static void test_synthesized(void) ok(data != NULL || broken( tests[i].format == CF_DIBV5 && cf == CF_DIB ), /* >= Vista */ "%u: couldn't get data, cf %04x err %d\n", i, cf, GetLastError()); - if (cf == CF_LOCALE) + switch (cf) + { + case CF_LOCALE: { UINT *ptr = GlobalLock( data ); ok( GlobalSize( data ) == sizeof(*ptr), "%u: size %lu\n", i, GlobalSize( data )); @@ -775,6 +777,15 @@ static void test_synthesized(void) broken( *ptr == MAKELANGID( LANG_ENGLISH, SUBLANG_DEFAULT )), "%u: CF_LOCALE %08x/%08x\n", i, *ptr, GetUserDefaultLCID() ); GlobalUnlock( data ); + break; + } + case CF_TEXT: + case CF_OEMTEXT: + ok( GlobalSize( data ) == 10, "wrong len %ld\n", GlobalSize( data )); + break; + case CF_UNICODETEXT: + ok( GlobalSize( data ) == 10 * sizeof(WCHAR), "wrong len %ld\n", GlobalSize( data )); + break; } } if (!tests[i].expected[j]) -- 2.11.4.GIT