Andrew Nguyen : kernel32/tests: Add more tests for IsBadWritePtr.

Alexandre Julliard julliard at winehq.org
Mon Jan 18 10:58:56 CST 2010


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

Author: Andrew Nguyen <arethusa26 at gmail.com>
Date:   Mon Jan 18 04:43:58 2010 -0600

kernel32/tests: Add more tests for IsBadWritePtr.

---

 dlls/kernel32/tests/virtual.c |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/dlls/kernel32/tests/virtual.c b/dlls/kernel32/tests/virtual.c
index fb084e8..b6960f4 100644
--- a/dlls/kernel32/tests/virtual.c
+++ b/dlls/kernel32/tests/virtual.c
@@ -897,11 +897,35 @@ static void test_IsBadReadPtr(void)
     ok(ret == FALSE, "Expected IsBadReadPtr to return FALSE, got %d\n", ret);
 }
 
+static void test_IsBadWritePtr(void)
+{
+    BOOL ret;
+    void *ptr = (void *)0xdeadbeef;
+    char stackval;
+
+    ret = IsBadWritePtr(NULL, 0);
+    ok(ret == FALSE, "Expected IsBadWritePtr to return FALSE, got %d\n", ret);
+
+    ret = IsBadWritePtr(NULL, 1);
+    ok(ret == TRUE, "Expected IsBadWritePtr to return TRUE, got %d\n", ret);
+
+    ret = IsBadWritePtr(ptr, 0);
+    ok(ret == FALSE, "Expected IsBadWritePtr to return FALSE, got %d\n", ret);
+
+    ret = IsBadWritePtr(ptr, 1);
+    ok(ret == TRUE, "Expected IsBadWritePtr to return TRUE, got %d\n", ret);
+
+    ret = IsBadWritePtr(&stackval, 0);
+    ok(ret == FALSE, "Expected IsBadWritePtr to return FALSE, got %d\n", ret);
+
+    ret = IsBadWritePtr(&stackval, sizeof(char));
+    ok(ret == FALSE, "Expected IsBadWritePtr to return FALSE, got %d\n", ret);
+}
+
 static void test_BadPtr(void)
 {
     void *ptr = (void*)1;
     /* We assume address 1 is not mapped. */
-    ok(IsBadWritePtr(ptr,1),"IsBadWritePtr(1) failed.\n");
     ok(IsBadCodePtr(ptr),"IsBadCodePtr(1) failed.\n");
 }
 
@@ -1245,6 +1269,7 @@ START_TEST(virtual)
     test_NtMapViewOfSection();
     test_CreateFileMapping();
     test_IsBadReadPtr();
+    test_IsBadWritePtr();
     test_BadPtr();
     test_write_watch();
 }




More information about the wine-cvs mailing list