[PATCH 2/2] Fix a crash on some Vista boxes

Paul Vriens Paul.Vriens.Wine at gmail.com
Wed Feb 24 08:33:01 CST 2010


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

diff --git a/dlls/ntdll/tests/reg.c b/dlls/ntdll/tests/reg.c
index 8a86627..8533f20 100644
--- a/dlls/ntdll/tests/reg.c
+++ b/dlls/ntdll/tests/reg.c
@@ -735,28 +735,31 @@ 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 */
     {
-- 
1.6.2.5


--------------090604060003010804070202--



More information about the wine-patches mailing list