[PATCH] comctl32/tests: Don't read past the end of the buffer

Michael Stefaniuc mstefani at winehq.org
Wed Oct 23 14:51:08 CDT 2019


Fixes test failures uncovered by f8979fee1fa2e6aeed5a5026465dffa680c0848f.

Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
We have only a
static WCHAR buffer[64]
and we get a non \0 terminated string back which we then compare to
static const WCHAR large_truncated_65_w[65] which has a strlen of 64 and
is \0 terminated.



 dlls/comctl32/tests/pager.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/comctl32/tests/pager.c b/dlls/comctl32/tests/pager.c
index 30005c88fa..fba3cb8bef 100644
--- a/dlls/comctl32/tests/pager.c
+++ b/dlls/comctl32/tests/pager.c
@@ -1010,8 +1010,9 @@ static void test_notify_generic_text_helper(HWND pager, const struct generic_tex
             if (data->return_text)
             {
                 if (para->flags & CONVERT_RECEIVE)
-                    ok(!lstrcmpW(data->return_text, *para->text), "Code 0x%08x sub test %d expect %s, got %s\n",
-                       para->code_unicode, i, wine_dbgstr_w((WCHAR *)data->return_text), wine_dbgstr_w(*para->text));
+                    ok(!wcsncmp(data->return_text, *para->text, *para->text_max),
+                       "Code 0x%08x sub test %d expect %s, got %s\n", para->code_unicode, i,
+                       wine_dbgstr_w((WCHAR *)data->return_text), wine_dbgstr_w(*para->text));
                 else
                     ok(!lstrcmpA(data->return_text, (CHAR *)*para->text), "Code 0x%08x sub test %d expect %s, got %s\n",
                        para->code_unicode, i, (CHAR *)data->return_text, (CHAR *)*para->text);
-- 
2.20.1




More information about the wine-devel mailing list