Paul Vriens : ntdll/tests: Fix a crash on some Vista boxes.

Alexandre Julliard julliard at winehq.org
Wed Feb 24 10:21:35 CST 2010


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

Author: Paul Vriens <Paul.Vriens.Wine at gmail.com>
Date:   Wed Feb 24 15:33:01 2010 +0100

ntdll/tests: Fix a crash on some Vista boxes.

---

 dlls/ntdll/tests/reg.c |   45 +++++++++++++++++++++++++--------------------
 1 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/dlls/ntdll/tests/reg.c b/dlls/ntdll/tests/reg.c
index 8a86627..9d8b8c2 100644
--- a/dlls/ntdll/tests/reg.c
+++ b/dlls/ntdll/tests/reg.c
@@ -735,32 +735,37 @@ static void test_symlinks(void)
         "wrong len %u\n", len );
     pNtClose( key );
 
-    /* reopen the link from itself */
+    if (0)  /* crashes the Windows kernel on some Vista systems */
+    {
+        /* reopen the link from itself */
 
-    attr.RootDirectory = link;
-    attr.Attributes = OBJ_OPENLINK;
-    attr.ObjectName = &null_str;
-    status = pNtOpenKey( &key, KEY_ALL_ACCESS, &attr );
-    ok( status == STATUS_SUCCESS, "NtOpenKey failed: 0x%08x\n", status );
-    len = sizeof(buffer);
-    status = pNtQueryValueKey( key, &symlink_str, KeyValuePartialInformation, info, len, &len );
-    ok( status == STATUS_SUCCESS, "NtQueryValueKey failed: 0x%08x\n", status );
-    ok( len == FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION,Data) + target_len - sizeof(WCHAR),
-        "wrong len %u\n", len );
-    pNtClose( key );
+        attr.RootDirectory = link;
+        attr.Attributes = OBJ_OPENLINK;
+        attr.ObjectName = &null_str;
+        status = pNtOpenKey( &key, KEY_ALL_ACCESS, &attr );
+        ok( status == STATUS_SUCCESS, "NtOpenKey failed: 0x%08x\n", status );
+        len = sizeof(buffer);
+        status = pNtQueryValueKey( key, &symlink_str, KeyValuePartialInformation, info, len, &len );
+        ok( status == STATUS_SUCCESS, "NtQueryValueKey failed: 0x%08x\n", status );
+        ok( len == FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION,Data) + target_len - sizeof(WCHAR),
+            "wrong len %u\n", len );
+        pNtClose( key );
 
-    status = pNtCreateKey( &key, KEY_ALL_ACCESS, &attr, 0, 0, 0, 0 );
-    ok( status == STATUS_SUCCESS, "NtCreateKey failed: 0x%08x\n", status );
-    len = sizeof(buffer);
-    status = pNtQueryValueKey( key, &symlink_str, KeyValuePartialInformation, info, len, &len );
-    ok( status == STATUS_SUCCESS, "NtQueryValueKey failed: 0x%08x\n", status );
-    ok( len == FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION,Data) + target_len - sizeof(WCHAR),
-        "wrong len %u\n", len );
-    pNtClose( key );
+        status = pNtCreateKey( &key, KEY_ALL_ACCESS, &attr, 0, 0, 0, 0 );
+        ok( status == STATUS_SUCCESS, "NtCreateKey failed: 0x%08x\n", status );
+        len = sizeof(buffer);
+        status = pNtQueryValueKey( key, &symlink_str, KeyValuePartialInformation, info, len, &len );
+        ok( status == STATUS_SUCCESS, "NtQueryValueKey failed: 0x%08x\n", status );
+        ok( len == FIELD_OFFSET(KEY_VALUE_PARTIAL_INFORMATION,Data) + target_len - sizeof(WCHAR),
+            "wrong len %u\n", len );
+        pNtClose( key );
+    }
 
     if (0)  /* crashes the Windows kernel in most versions */
     {
+        attr.RootDirectory = link;
         attr.Attributes = 0;
+        attr.ObjectName = &null_str;
         status = pNtOpenKey( &key, KEY_ALL_ACCESS, &attr );
         ok( status == STATUS_SUCCESS, "NtOpenKey failed: 0x%08x\n", status );
         len = sizeof(buffer);




More information about the wine-cvs mailing list