From: Bernhard Übelacker bernhardu@mailbox.org
--- dlls/ucrtbase/tests/printf.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/ucrtbase/tests/printf.c b/dlls/ucrtbase/tests/printf.c index 75bd7830869..ff2b274c996 100644 --- a/dlls/ucrtbase/tests/printf.c +++ b/dlls/ucrtbase/tests/printf.c @@ -181,10 +181,17 @@ static void test_swprintf (void) const wchar_t str_empty[] = {0}; const wchar_t *tests[] = {str_short, str_justfit, str_justfits, str_muchlonger};
- wchar_t buffer[8]; + struct { + wchar_t buffer[8]; + wchar_t chk; + wchar_t term; + } buf; +#define buffer buf.buffer char narrow[8], narrow_fmt[16]; const int bufsiz = ARRAY_SIZE(buffer); unsigned int i; + memset(&buf, 0xcd, sizeof(buf)); + buf.term = L'\0';
/* Legacy _snprintf style termination */ for (i = 0; i < ARRAY_SIZE(tests); i++) { @@ -253,6 +260,9 @@ static void test_swprintf (void) "Failure to swprintf a zero length string to a zero length buffer\n"); ok (vswprintf_wrapper (0, buffer, 0, str_empty) == -1, "Failure to swprintf a zero length string to a zero length buffer\n"); + + ok (buf.chk == 0xcdcd, "buf.chk got overwritten.\n"); +#undef buffer }
static int WINAPIV vfprintf_wrapper(FILE *file,