[KMTESTS:MM]
authorPierre Schweitzer <pierre@reactos.org>
Sun, 27 Nov 2016 10:49:33 +0000 (10:49 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Sun, 27 Nov 2016 10:49:33 +0000 (10:49 +0000)
Check the first byte is really null, in spite of the hack writing.

CORE-11819
CORE-12475

svn path=/trunk/; revision=73392

rostests/kmtests/ntos_mm/NtCreateSection_drv.c
rostests/kmtests/ntos_mm/NtCreateSection_user.c

index 8869308..bc84a16 100644 (file)
@@ -404,7 +404,8 @@ TestIrpHandler(
     {
         Fcb = IoStack->FileObject->FsContext;
         ok(Fcb != NULL, "Null pointer!\n");
     {
         Fcb = IoStack->FileObject->FsContext;
         ok(Fcb != NULL, "Null pointer!\n");
-        if (IoStack->FileObject->PrivateCacheMap != NULL)
+        if (IoStack->FileObject->SectionObjectPointer != NULL &&
+            IoStack->FileObject->SectionObjectPointer->SharedCacheMap != NULL)
         {
             CcFlushCache(&Fcb->SectionObjectPointers, NULL, 0, NULL);
             CcPurgeCacheSection(&Fcb->SectionObjectPointers, NULL, 0, FALSE);
         {
             CcFlushCache(&Fcb->SectionObjectPointers, NULL, 0, NULL);
             CcPurgeCacheSection(&Fcb->SectionObjectPointers, NULL, 0, FALSE);
index 2966adf..f5127ec 100644 (file)
@@ -53,6 +53,7 @@ START_TEST(NtCreateSection)
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
+    ok(((PCHAR)Buffer)[0] == 0, "First byte is not null! %x", ((PCHAR)Buffer)[0]);
     memset(Buffer, 0xBA, 512);
     KmtEndSeh(STATUS_SUCCESS);
 
     memset(Buffer, 0xBA, 512);
     KmtEndSeh(STATUS_SUCCESS);
 
@@ -78,6 +79,7 @@ START_TEST(NtCreateSection)
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
+    ok(((PCHAR)Buffer)[0] == 0, "First byte is not null! %x", ((PCHAR)Buffer)[0]);
     memset(Buffer, 0xBA, 4096);
     KmtEndSeh(STATUS_SUCCESS);
 
     memset(Buffer, 0xBA, 4096);
     KmtEndSeh(STATUS_SUCCESS);
 
@@ -103,6 +105,7 @@ START_TEST(NtCreateSection)
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
+    ok(((PCHAR)Buffer)[0] == 0, "First byte is not null! %x", ((PCHAR)Buffer)[0]);
     memset(Buffer, 0xBA, 512);
     KmtEndSeh(STATUS_SUCCESS);
 
     memset(Buffer, 0xBA, 512);
     KmtEndSeh(STATUS_SUCCESS);
 
@@ -128,6 +131,7 @@ START_TEST(NtCreateSection)
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
+    ok(((PCHAR)Buffer)[0] == 0, "First byte is not null! %x", ((PCHAR)Buffer)[0]);
     memset(Buffer, 0xBA, 4096);
     KmtEndSeh(STATUS_SUCCESS);
 
     memset(Buffer, 0xBA, 4096);
     KmtEndSeh(STATUS_SUCCESS);
 
@@ -165,6 +169,7 @@ START_TEST(NtCreateSection)
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
+    ok(((PCHAR)Buffer)[0] == 0, "First byte is not null! %x", ((PCHAR)Buffer)[0]);
     memset(Buffer, 0xBA, 512);
     KmtEndSeh(STATUS_SUCCESS);
 
     memset(Buffer, 0xBA, 512);
     KmtEndSeh(STATUS_SUCCESS);
 
@@ -190,6 +195,7 @@ START_TEST(NtCreateSection)
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
+    ok(((PCHAR)Buffer)[0] == 0, "First byte is not null! %x", ((PCHAR)Buffer)[0]);
     memset(Buffer, 0xBA, 4096);
     KmtEndSeh(STATUS_SUCCESS);
 
     memset(Buffer, 0xBA, 4096);
     KmtEndSeh(STATUS_SUCCESS);
 
@@ -215,6 +221,7 @@ START_TEST(NtCreateSection)
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
+    ok(((PCHAR)Buffer)[0] == 0, "First byte is not null! %x", ((PCHAR)Buffer)[0]);
     memset(Buffer, 0xBA, 512);
     KmtEndSeh(STATUS_SUCCESS);
 
     memset(Buffer, 0xBA, 512);
     KmtEndSeh(STATUS_SUCCESS);
 
@@ -240,6 +247,7 @@ START_TEST(NtCreateSection)
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
     ok_eq_hex(Status, STATUS_SUCCESS);
 
     KmtStartSeh();
+    ok(((PCHAR)Buffer)[0] == 0, "First byte is not null! %x", ((PCHAR)Buffer)[0]);
     memset(Buffer, 0xBA, 4096);
     KmtEndSeh(STATUS_SUCCESS);
 
     memset(Buffer, 0xBA, 4096);
     KmtEndSeh(STATUS_SUCCESS);