Signed-off-by: Nikolay Sivov nsivov@codeweavers.com ---
Showed up at https://bugs.winehq.org/show_bug.cgi?id=50030.
dlls/kernel32/tests/actctx.c | 19 +++++++++++++++++++ dlls/ntdll/actctx.c | 2 ++ 2 files changed, 21 insertions(+)
diff --git a/dlls/kernel32/tests/actctx.c b/dlls/kernel32/tests/actctx.c index 4a9adc15748..4a6a22680e2 100644 --- a/dlls/kernel32/tests/actctx.c +++ b/dlls/kernel32/tests/actctx.c @@ -290,6 +290,13 @@ static const char manifest10[] = "</asmv2:trustInfo>" "</assembly>";
+/* Empty <dependency> element */ +static const char manifest11[] = +"<assembly xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" manifestVersion="1.0">" +"<assemblyIdentity version="1.0.0.0" name="Wine.Test" type="win32"></assemblyIdentity>" +"<dependency />" +"</assembly>"; + static const char testdep_manifest1[] = "<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">" "<assemblyIdentity type="win32" name="testdep" version="6.5.4.3" processorArchitecture="" ARCH ""/>" @@ -2240,6 +2247,18 @@ static void test_actctx(void) else skip("Could not create manifest file 10\n");
+ if (create_manifest_file("test11.manifest", manifest11, -1, NULL, NULL)) + { + handle = test_create("test11.manifest"); + ok(handle != INVALID_HANDLE_VALUE, "Failed to create activation context for %s, error %u\n", + "manifest11", GetLastError()); + DeleteFileA("test11.manifest"); + if (handle != INVALID_HANDLE_VALUE) + ReleaseActCtx(handle); + } + else + skip("Could not create manifest file 11\n"); + trace("manifest4\n");
if(!create_manifest_file("test4.manifest", manifest4, -1, NULL, NULL)) { diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c index 7e18544cda8..b99d1655d22 100644 --- a/dlls/ntdll/actctx.c +++ b/dlls/ntdll/actctx.c @@ -2307,6 +2307,8 @@ static void parse_dependency_elem( xmlbuf_t *xmlbuf, struct actctx_loader *acl, } }
+ if (end) return; + while (next_xml_elem(xmlbuf, &elem, parent)) { if (xml_elem_cmp(&elem, dependentAssemblyW, asmv1W))
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=80663
Your paranoid android.
=== w10pro64_2scr (32 bit report) ===
kernel32: actctx.c:2959: Test failed: got wrong clsid {00000001-0000-0000-b0b6-e169a3010000}, expected {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for 1
=== w10pro64_ar (32 bit report) ===
kernel32: actctx.c:2959: Test failed: got wrong clsid {00000001-0000-0000-f0e2-8539ce010000}, expected {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for 1
=== w10pro64_he (32 bit report) ===
kernel32: actctx.c:2959: Test failed: got wrong clsid {00000001-0000-0000-7007-c3b3a9010000}, expected {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for 1
=== w10pro64_ja (32 bit report) ===
kernel32: actctx.c:2959: Test failed: got wrong clsid {00000001-0000-0000-b045-e0e475010000}, expected {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for 1 actctx.c:2959: Test failed: got wrong clsid {2be3e3b0-0062-0000-e328-2f4ab9534144}, expected {8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a} for 3 actctx.c:2959: Test failed: got wrong clsid {386e4a4a-0001-0000-0000-0000b0e3e32b}, expected {1f676c76-80e1-4239-95bb-83d0f6d0da78} for 4 actctx.c:2959: Test failed: Wrong type, got 98 for 4
=== w10pro64_zh_CN (32 bit report) ===
kernel32: actctx.c:2959: Test failed: got wrong clsid {00000001-7ffc-0000-c067-829802020000}, expected {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for 1 actctx.c:2959: Test failed: Wrong type, got 32764 for 2 actctx.c:2959: Test failed: got wrong clsid {00000000-0000-0000-e328-2f4ab9534144}, expected {8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a} for 3 actctx.c:2959: Test failed: got wrong clsid {386e4a4a-0001-0000-fc7f-000000000000}, expected {1f676c76-80e1-4239-95bb-83d0f6d0da78} for 4 actctx.c:2959: Test failed: Wrong type, got 0 for 4
=== w10pro64_2scr (64 bit report) ===
kernel32: actctx.c:2959: Test failed: got wrong clsid {00000001-0000-0000-b045-e069a3010000}, expected {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for 1
=== w10pro64_ar (64 bit report) ===
kernel32: actctx.c:2959: Test failed: got wrong clsid {00000001-0000-0000-f0e2-8539ce010000}, expected {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for 1
=== w10pro64_he (64 bit report) ===
kernel32: actctx.c:2959: Test failed: got wrong clsid {00000001-0000-0000-d08f-c2b3a9010000}, expected {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for 1 actctx.c:2959: Test failed: got wrong clsid {b3c19000-01a9-0000-e328-2f4ab9534144}, expected {8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a} for 3 actctx.c:2959: Test failed: got wrong clsid {386e4a4a-0001-0000-0000-00000090c1b3}, expected {1f676c76-80e1-4239-95bb-83d0f6d0da78} for 4
=== w10pro64_ja (64 bit report) ===
kernel32: actctx.c:2959: Test failed: got wrong clsid {00000001-0000-0000-903a-e2e475010000}, expected {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for 1 actctx.c:2959: Test failed: got wrong clsid {e4e4d000-0175-0000-e328-2f4ab9534144}, expected {8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a} for 3 actctx.c:2959: Test failed: got wrong clsid {386e4a4a-0001-0000-0000-000000d0e4e4}, expected {1f676c76-80e1-4239-95bb-83d0f6d0da78} for 4
=== w10pro64_zh_CN (64 bit report) ===
kernel32: actctx.c:2959: Test failed: got wrong clsid {00000001-0000-0000-6088-829802020000}, expected {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for 1 actctx.c:2959: Test failed: got wrong clsid {00000000-0000-0000-e328-2f4ab9534144}, expected {8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a} for 3 actctx.c:2959: Test failed: got wrong clsid {386e4a4a-0001-0000-0000-000000000000}, expected {1f676c76-80e1-4239-95bb-83d0f6d0da78} for 4 actctx.c:2959: Test failed: Wrong type, got 0 for 4