https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d055c9f16f85dda5af33f8180e15194c9b386c81

commit d055c9f16f85dda5af33f8180e15194c9b386c81
Author:     Pierre Schweitzer <pie...@reactos.org>
AuthorDate: Tue Oct 1 10:10:52 2019 +0200
Commit:     Pierre Schweitzer <pie...@reactos.org>
CommitDate: Tue Oct 1 10:11:39 2019 +0200

    [NTDLL_WINETESTS] Fix the test so that it works on W2K3
    
    It's an addendum to ad547c9
---
 modules/rostests/winetests/ntdll/info.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/modules/rostests/winetests/ntdll/info.c 
b/modules/rostests/winetests/ntdll/info.c
index 3d2c6318840..e641a8d0ff2 100644
--- a/modules/rostests/winetests/ntdll/info.c
+++ b/modules/rostests/winetests/ntdll/info.c
@@ -1883,9 +1883,7 @@ static void test_queryvirtualmemory(void)
 {
     NTSTATUS status;
     SIZE_T readcount;
-#ifndef __REACTOS__
     static const WCHAR windowsW[] = {'w','i','n','d','o','w','s'};
-#endif
     static const char teststring[] = "test string";
     static char datatestbuf[42] = "abc";
     static char rwtestbuf[42];
@@ -1893,10 +1891,13 @@ static void test_queryvirtualmemory(void)
     char stackbuf[42];
     HMODULE module;
     char buffer_name[sizeof(MEMORY_SECTION_NAME) + MAX_PATH * sizeof(WCHAR)];
-    MEMORY_SECTION_NAME *msn = (MEMORY_SECTION_NAME *)buffer_name;
 #ifndef __REACTOS__
+    MEMORY_SECTION_NAME *msn = (MEMORY_SECTION_NAME *)buffer_name;
+#endif
     BOOL found;
     int i;
+#ifdef __REACTOS__
+    MEMORY_SECTION_NAME *msn = HeapAlloc(GetProcessHeap(), 0, 
sizeof(buffer_name));
 #endif
 
     module = GetModuleHandleA( "ntdll.dll" );
@@ -1998,7 +1999,6 @@ static void test_queryvirtualmemory(void)
     memset(buffer_name, 0x77, sizeof(buffer_name));
     readcount = 0;
     status = pNtQueryVirtualMemory(NtCurrentProcess(), module, 
MemorySectionName, msn, sizeof(buffer_name), &readcount);
-#ifndef __REACTOS__
     ok( status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got %08x\n", 
status);
     ok( readcount > 0, "Expected readcount to be > 0\n");
     trace ("Section Name: %s\n", wine_dbgstr_w(msn->SectionFileName.Buffer));
@@ -2006,18 +2006,17 @@ static void test_queryvirtualmemory(void)
     for (found = FALSE, i = (msn->SectionFileName.Length - sizeof(windowsW)) / 
sizeof(WCHAR); i >= 0; i--)
         found |= !memcmp( &msn->SectionFileName.Buffer[i], windowsW, 
sizeof(windowsW) );
     ok( found, "Section name does not contain \"Windows\"\n");
-#else
-    /* W2K3 will return this, because the buffer is not ULONG-aligned */
-    ok( status == STATUS_DATATYPE_MISALIGNMENT, "Expected 
STATUS_DATATYPE_MISALIGNMENT, got %08x\n", status);
-    ok( readcount == 0, "Expected readcount to be 0: %ld\n", readcount);
-#endif
 
     trace("Check section name of non mapped memory\n");
-    memset(msn, 0, sizeof(*msn));
+    memset(msn, 0, sizeof(buffer_name));
     readcount = 0;
     status = pNtQueryVirtualMemory(NtCurrentProcess(), &buffer_name, 
MemorySectionName, msn, sizeof(buffer_name), &readcount);
     ok( status == STATUS_INVALID_ADDRESS, "Expected STATUS_INVALID_ADDRESS, 
got %08x\n", status);
     ok( readcount == 0 || broken(readcount != 0) /* wow64 */, "Expected 
readcount to be 0\n");
+
+#ifdef __REACTOS__
+    HeapFree(GetProcessHeap(), 0, msn);
+#endif
 }
 
 static void test_affinity(void)

Reply via email to