Jacek Caban <jacek(a)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)
--
Alexandre Julliard
julliard(a)winehq.org