Jacek Caban jacek@codeweavers.com writes:
dlls/crypt32/cert.c | 159 ++++++++++++++++++++++++----------------- dlls/crypt32/collectionstore.c | 12 ++-- dlls/crypt32/context.c | 4 +- dlls/crypt32/crl.c | 7 +- dlls/crypt32/crypt32_private.h | 22 +++--- dlls/crypt32/ctl.c | 9 ++- dlls/crypt32/provstore.c | 18 ++--- dlls/crypt32/store.c | 17 +++-- 8 files changed, 140 insertions(+), 108 deletions(-)
It breaks the tests:
../../../tools/runtest -q -P wine -T ../../.. -M cryptui.dll -p cryptui_test.exe.so cryptui.c && touch cryptui.ok wine: Unhandled page fault on read access to 0xfffffff0 at address 0x6865c543 (thread 005d), starting debugger... Unhandled exception: page fault on read access to 0xfffffff0 in 32-bit code (0x6865c543). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:6865c543 ESP:0032fab0 EBP:0032fac8 EFLAGS:00010297( R- -- I S -A-P-C) EAX:ffffffe8 EBX:686bb2fc ECX:00000000 EDX:0013ed38 ESI:0013ed70 EDI:00000001 Stack dump: 0x0032fab0: 00000005 0013eea0 0032fb68 686bb2fc 0x0032fac0: 686bb2fc 00000001 0032fb68 6864f122 0x0032fad0: 0013d6a8 00000000 00000000 0032fb2c 0x0032fae0: 00000000 00000000 0032fb38 6869a1af 0x0032faf0: 00000000 00020000 00000000 6865b7e0 0x0032fb00: 0032fb3c 0013ed50 0032fb38 6869a618 Backtrace: =>0 0x6865c543 Context_CopyProperties+0x43(to=0x13d6a8, from=0x0(nil)) [/home/julliard/wine/wine/dlls/crypt32/context.c:99] in crypt32 (0x0032fac8) 1 0x6864f122 add_cert_to_store+0x3e1(store=<couldn't compute location>, cert=<couldn't compute location>, add_disposition=<couldn't compute location>, use_link=<couldn't compute location>, ret_context=<couldn't compute location>) [/home/julliard/wine/wine/dlls/crypt32/cert.c:270] in crypt32 (0x0032fb68) 2 0x6864f37d CertAddCertificateContextToStore+0x9c(hCertStore=<couldn't compute location>, pCertContext=<couldn't compute location>, dwAddDisposition=<couldn't compute location>, ppStoreContext=<couldn't compute location>) [/home/julliard/wine/wine/dlls/crypt32/cert.c:288] in crypt32 (0x0032fbc8) 3 0x5557563b import_cert+0x14a() in cryptui (0x0032fc38) 4 0x555793ad CryptUIWizImport+0x10c() in cryptui (0x0032fc78) 5 0x6862a5e7 func_cryptui+0x4f6() [/home/julliard/wine/wine/dlls/cryptui/tests/cryptui.c:397] in cryptui_test (0x0032fcf8) 6 0x6862b675 run_test+0x144(name=<is not available>) [/home/julliard/wine/wine/dlls/cryptui/tests/../../../include/wine/test.h:570] in cryptui_test (0x0032fd48) 7 0x68629c23 main+0x152(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/dlls/cryptui/tests/../../../include/wine/test.h:640] in cryptui_test (0x0032fe08) 8 0x6862c0c0 __wine_spec_exe_entry+0x7f(peb=<couldn't compute location>) [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:36] in cryptui_test (0x0032fe58) 9 0x7b85f38c call_process_entry+0xb() in kernel32 (0x0032fe78) 10 0x7b86056b start_process+0x6a(peb=<couldn't compute location>) [/home/julliard/wine/wine/dlls/kernel32/process.c:1085] in kernel32 (0x0032feb8) 11 0x7bc7fea0 call_thread_func_wrapper+0xb() in ntdll (0x0032fed8) 12 0x7bc82dad call_thread_func+0x7c(entry=0x7b860500, arg=0x7ffdf000, frame=0x32ffc8) [/home/julliard/wine/wine/dlls/ntdll/signal_i386.c:2602] in ntdll (0x0032ffa8) 13 0x7bc7fe7e call_thread_entry_point+0x11() in ntdll (0x0032ffc8) 14 0x7bc54a2e start_process+0x1d(kernel_start=0x7b860500) [/home/julliard/wine/wine/dlls/ntdll/loader.c:2697] in ntdll (0x0032ffe8) 15 0x6803128d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000) 16 0x6803134b wine_switch_to_stack+0x2a(func=0x7bc54a10, arg=0x7b860500, stack=0x330000) [/home/julliard/wine/wine/libs/wine/port.c:59] in libwine.so.1 (0xffb103b8) 17 0x7bc5a587 LdrInitializeThunk+0x3a6(kernel_start=<couldn't compute location>, unknown2=<couldn't compute location>, unknown3=<couldn't compute location>, unknown4=<couldn't compute location>) [/home/julliard/wine/wine/dlls/ntdll/loader.c:2753] in ntdll (0xffb10428) 18 0x7b866ae0 __wine_kernel_init+0xbbf() [/home/julliard/wine/wine/dlls/kernel32/process.c:1257] in kernel32 (0xffb11338) 19 0x7bc5ac53 __wine_process_init+0x182() [/home/julliard/wine/wine/dlls/ntdll/loader.c:2962] in ntdll (0xffb113c8) 20 0x6802eeda wine_init+0x2b9(argc=0x3, argv=0xffb11904, error="", error_size=0x400) [/home/julliard/wine/wine/libs/wine/loader.c:952] in libwine.so.1 (0xffb11428) 21 0x7bf00d3b main+0x7a(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/loader/main.c:237] in <wine-loader> (0xffb11868) 22 0x682518c5 __libc_start_main+0xf4() in libc.so.6 (0x00000000) 0x6865c543 Context_CopyProperties+0x43 [/home/julliard/wine/wine/dlls/crypt32/context.c:99] in crypt32: movl 0xfffffff0(%ecx),%edx 99 while (ptr && ptr->linked)