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.