Jinoh Kang (@iamahuman) commented about dlls/ntdll/tests/om.c:
ok( !!info.dbi[0].ObjectTypeName.Buffer, "expected no less than 1 entry\n" );
ok( !info.dbi[1].ObjectName.Buffer, "expected no more than 1 entry\n" );
ok( !info.dbi[1].ObjectTypeName.Buffer, "expected no more than 1 entry\n" );
if (winetest_debug > 1) trace( "Trying to open %s %s\n", wine_dbgstr_w(info.dbi[0].ObjectTypeName.Buffer), wine_dbgstr_w(info.dbi[0].ObjectName.Buffer) );
InitializeObjectAttributes( &child_attr, &info.dbi[0].ObjectName, 0, krnobjs, NULL );
child = NULL;
status = open_object( &child, MAXIMUM_ALLOWED, &child_attr, info.dbi[0].ObjectTypeName.Buffer );
ok( !status || status == STATUS_ACCESS_DENIED, "open object returned %08lx\n", status );
if (status) continue;
status = pNtQueryObject( child, ObjectBasicInformation, &obi, sizeof(obi), &obi_len );
ok( !status, "NtQueryObject returned %08lx\n", status );
trace( "Trying to delete %s with access %08lx\n", wine_dbgstr_w(child_attr.ObjectName->Buffer), obi.GrantedAccess );
status = NtMakeTemporaryObject( child );
This patch doesn't restore the object after deleting it, potentially causing system malfunction or subsequent test failures.
MR !5279 aims to introduce NtMakePermanentObject() for reverting the temporary (pending deletion) state.