Andrew Nguyen : kernel32/tests: Add tests for IsBadReadPtr.

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


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

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

kernel32/tests: Add tests for IsBadReadPtr.

---

 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 5187a97..fb084e8 100644
--- a/dlls/kernel32/tests/virtual.c
+++ b/dlls/kernel32/tests/virtual.c
@@ -872,11 +872,35 @@ static void test_CreateFileMapping(void)
     CloseHandle( handle );
 }
 
+static void test_IsBadReadPtr(void)
+{
+    BOOL ret;
+    void *ptr = (void *)0xdeadbeef;
+    char stackvar;
+
+    ret = IsBadReadPtr(NULL, 0);
+    ok(ret == FALSE, "Expected IsBadReadPtr to return FALSE, got %d\n", ret);
+
+    ret = IsBadReadPtr(NULL, 1);
+    ok(ret == TRUE, "Expected IsBadReadPtr to return TRUE, got %d\n", ret);
+
+    ret = IsBadReadPtr(ptr, 0);
+    ok(ret == FALSE, "Expected IsBadReadPtr to return FALSE, got %d\n", ret);
+
+    ret = IsBadReadPtr(ptr, 1);
+    ok(ret == TRUE, "Expected IsBadReadPtr to return TRUE, got %d\n", ret);
+
+    ret = IsBadReadPtr(&stackvar, 0);
+    ok(ret == FALSE, "Expected IsBadReadPtr to return FALSE, got %d\n", ret);
+
+    ret = IsBadReadPtr(&stackvar, sizeof(char));
+    ok(ret == FALSE, "Expected IsBadReadPtr to return FALSE, got %d\n", ret);
+}
+
 static void test_BadPtr(void)
 {
     void *ptr = (void*)1;
     /* We assume address 1 is not mapped. */
-    ok(IsBadReadPtr(ptr,1),"IsBadReadPtr(1) failed.\n");
     ok(IsBadWritePtr(ptr,1),"IsBadWritePtr(1) failed.\n");
     ok(IsBadCodePtr(ptr),"IsBadCodePtr(1) failed.\n");
 }
@@ -1220,6 +1244,7 @@ START_TEST(virtual)
     test_MapViewOfFile();
     test_NtMapViewOfSection();
     test_CreateFileMapping();
+    test_IsBadReadPtr();
     test_BadPtr();
     test_write_watch();
 }




More information about the wine-cvs mailing list