Dmitry Timoshkov : kernel32: Add an overflow test for MultiByteToWideChar.

Alexandre Julliard julliard at wine.codeweavers.com
Fri May 18 08:03:55 CDT 2007


Module: wine
Branch: master
Commit: e690916f68d651147653ffae3be1c17fa5edfdbe
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e690916f68d651147653ffae3be1c17fa5edfdbe

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Fri May 18 20:21:35 2007 +0900

kernel32: Add an overflow test for MultiByteToWideChar.

---

 dlls/kernel32/tests/codepage.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/kernel32/tests/codepage.c b/dlls/kernel32/tests/codepage.c
index 89b6ef0..bde9f82 100644
--- a/dlls/kernel32/tests/codepage.c
+++ b/dlls/kernel32/tests/codepage.c
@@ -137,6 +137,12 @@ static void test_negative_source_length(void)
     len = MultiByteToWideChar(CP_ACP, 0, "foobar", -2002, bufW, 10);
     ok(len == 7 && !mylstrcmpW(bufW, foobarW) && GetLastError() == 0xdeadbeef,
        "MultiByteToWideChar(-2002): len=%d error=%u\n", len, GetLastError());
+
+    SetLastError(0xdeadbeef);
+    memset(bufW, 'x', sizeof(bufW));
+    len = MultiByteToWideChar(CP_ACP, 0, "foobar", -1, bufW, 6);
+    ok(len == 0 && GetLastError() == ERROR_INSUFFICIENT_BUFFER,
+       "MultiByteToWideChar(-1): len=%d error=%u\n", len, GetLastError());
 }
 
 static void test_overlapped_buffers(void)




More information about the wine-cvs mailing list