[PATCH 2/2] oleaut32: Fix VariantCopy() for VT_RECORD variants (resent)

Alexandre Julliard julliard at winehq.org
Thu Feb 20 06:12:01 CST 2014


Nikolay Sivov <nsivov at codeweavers.com> writes:

> ---
>  dlls/oleaut32/tests/vartest.c | 46 ++++++++++++++++++++++---
>  dlls/oleaut32/variant.c       | 79 ++++++++++++++++++++-----------------------
>  2 files changed, 79 insertions(+), 46 deletions(-)

It doesn't work here:

../../../tools/runtest -q -P wine -T ../../.. -M jscript.dll -p jscript_test.exe.so run && touch run.ok
wine: Unhandled page fault on read access to 0x00000001 at address 0x686c7866 (thread 007f), starting debugger...
Unhandled exception: page fault on read access to 0x00000001 in 32-bit code (0x686c7866).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:686c7866 ESP:0032f6a0 EBP:0032f6d8 EFLAGS:00010202(  R- --  I   - - - )
 EAX:0032f720 EBX:687a01ec ECX:0032f6f0 EDX:00000001
 ESI:00000000 EDI:0032f720
Stack dump:
0x0032f6a0:  001d0ca8 000012e0 0032f6e8 686c6914
0x0032f6b0:  00000020 00000000 001d0da8 0032f758
0x0032f6c0:  4d430003 00000000 0032f6f0 687a01ec
0x0032f6d0:  558b6bc0 00000000 0032f748 686c8eed
0x0032f6e0:  00000018 00000000 00000000 686c8eed
0x0032f6f0:  003315c0 0032f720 00000080 0032f70c
Backtrace:
=>0 0x686c7866 SafeArrayGetRecordInfo+0x46(psa=<couldn't compute location>, pRinfo=<couldn't compute location>) [/home/julliard/wine/wine/dlls/oleaut32/../../include/oaidl.h:4140] in oleaut32 (0x0032f6d8)
  1 0x686c8eed SAFEARRAY_CopyData+0x28c(psa=0x3315c0, dest=0x331e78) [/home/julliard/wine/wine/dlls/oleaut32/safearray.c:409] in oleaut32 (0x0032f748)
  2 0x686c91e6 SafeArrayCopy+0x145(psa=<couldn't compute location>, ppsaOut=<couldn't compute location>) [/home/julliard/wine/wine/dlls/oleaut32/safearray.c:1409] in oleaut32 (0x0032f7a8)
  3 0x5589c671 VBArrayConstr_value+0x140(ctx=0x1ba150, vthis=0x32f838, flags=0x4000, argc=0x1, argv=0x1e5b50, r=0x32fa38) [/home/julliard/wine/wine/dlls/jscript/vbarray.c:308] in jscript (0x0032f808)
  4 0x5587810b invoke_value_proc.isra+0x6a() in jscript (0x0032f858)
  5 0x55878a57 Function_invoke+0x66(func_this=0x1d0d60, jsthis=(nil), flags=0x4000, argc=0x1, argv=0x1e5b50, r=0x32fa38) [/home/julliard/wine/wine/dlls/jscript/function.c:351] in jscript (0x0032f8a8)
  6 0x5586b089 jsdisp_call_value+0xd8(jsfunc=0x1d0d60, jsthis=(nil), flags=0x4000, argc=0x1, argv=0x1e5b50, r=0x32fa38) [/home/julliard/wine/wine/dlls/jscript/dispex.c:1061] in jscript (0x0032f8f8)
  7 0x5586b1a1 disp_call_value+0xb0(ctx=0x1ba150, disp=0x1d0d60, jsthis=(nil), flags=0x4000, argc=0x1, argv=0x1e5b50, r=0x32fa38) [/home/julliard/wine/wine/dlls/jscript/dispex.c:1200] in jscript (0x0032f9f8)
  8 0x5586ef84 interp_new+0xc3(ctx=<is not available>) [/home/julliard/wine/wine/dlls/jscript/engine.c:985] in jscript (0x0032fa58)
  9 0x55874a94 exec_source+0x1e3(ctx=<is not available>, code=<is not available>, func=<is not available>, from_eval=<is not available>, ret=<is not available>) [/home/julliard/wine/wine/dlls/jscript/engine.c:2462] in jscript (0x0032fad8)
  10 0x5587eb46 exec_global_code.isra+0x85() in jscript (0x0032fb18)
  11 0x5587ee19 JScriptParse_ParseScriptText+0x2a8(iface=<couldn't compute location>, pstrCode=<couldn't compute location>, pstrItemName=<couldn't compute location>, punkContext=<couldn't compute location>, pstrDelimiter=<couldn't compute location>, dwSourceContextCookie=<couldn't compute location>, ulStartingLine=<couldn't compute location>, dwFlags=<couldn't compute location>, pvarResult=<couldn't compute location>, pexcepinfo=<couldn't compute location>) [/home/julliard/wine/wine/dlls/jscript/jscript.c:805] in jscript (0x0032fba8)


-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list