Hi Anton,
It crashes here, you probably need to skip string test if get_URL() fails or initialize output variable to NULL so that lstrcmpW can deal with it:
../../../tools/runtest -q -P wine -T ../../.. -M wmp.dll -p wmp_test.exe.so oleobj && touch oleobj.ok 0009:fixme:wmp:OleObject_QueryInterface (0x1520c0)->({94d55e95-3fac-11d3-b155-00c04f79faa6} 0x32f988) 0009:fixme:wmp:WMPMedia_get_sourceURL (0x153150)->(0x32f974) wine: Unhandled page fault on read access to 0x00000001 at address 0x7b455095 (thread 0009), starting debugger... Unhandled exception: page fault on read access to 0x00000001 in 32-bit code (0x7b455095). Register dump: CS:001b SS:0023 DS:0023 ES:0023 FS:1007 GS:000f EIP:7b455095 ESP:0032f6e0 EBP:0032f6e8 EFLAGS:00010202( R- -- I - - - ) EAX:00000001 EBX:0015310c ECX:a7fcefe8 EDX:00000000 ESI:00000000 EDI:ffffffff Stack dump: 0x0032f6e0: 00000001 00000001 0032f7b8 7b45ad6b 0x0032f6f0: 00000001 0032f7b0 4a738345 4a7293de 0x0032f700: 442150f0 00153150 0032f778 4000370e 0x0032f710: 7bc35f2e 00153108 0000003d 7bd113d8 0x0032f720: 0032f7b0 4a727d62 4a7293de 4a738344 0x0032f730: 00000000 00000001 ffffffff 7b45aa14 0200: sel=1007 base=7ffc0000 limit=00000fff 32-bit rw- Backtrace: =>0 0x7b455095 strlenW+0x15() in kernel32 (0x0032f6e8) 1 0x7b45ad6b CompareStringEx+0x36a() in kernel32 (0x0032f7b8) 2 0x7b45a9e7 CompareStringW+0x76() in kernel32 (0x0032f818) 3 0x7b45b65c lstrcmpW+0x9b() in kernel32 (0x0032f868) 4 0x41da9442 test_wmp_ifaces+0xa31() in wmp_test (0x0032faa8) 5 0x41da6a6e in wmp_test (+0x6a6d) (0x0032fd38) 6 0x41da520c func_oleobj+0x2b() in wmp_test (0x0032fd58) 7 0x41daf6b6 run_test+0xa5() in wmp_test (0x0032fdc8) 8 0x41daf490 main+0x30f() in wmp_test (0x0032fe98) 9 0x41dafaab __wine_spec_exe_entry+0x8a() in wmp_test (0x0032fee0) 10 0x7b47393c call_process_entry+0xb() in kernel32 (0x0032fef8) 11 0x7b473b8c start_process+0x21b() in kernel32 (0x0032ffdc) 12 0x7b47394a start_process_wrapper+0x9() in kernel32 (0x0032ffec) 0x7b455095 strlenW+0x15 in kernel32: cmpw $0,0x0(%eax)
Jacek