[NTOS:OB]

- Mark object types as not having ObjectCreateInfo on creation. Otherwise ObpObjectType's TypeList gets corrupted when a handle to an object type is created (as kmtest:ObTypes does) and ObpIncrementHandleCount tries to insert the list entry a second time.
CORE-8423 #resolve

svn path=/trunk/; revision=63833
This commit is contained in:
Thomas Faber 2014-08-07 13:02:59 +00:00
parent f401f23683
commit 9665943699

View file

@ -1231,8 +1231,15 @@ ObCreateObjectType(IN PUNICODE_STRING TypeName,
/* Get creator info and insert it into the type list */
CreatorInfo = OBJECT_HEADER_TO_CREATOR_INFO(Header);
if (CreatorInfo) InsertTailList(&ObpTypeObjectType->TypeList,
&CreatorInfo->TypeList);
if (CreatorInfo)
{
InsertTailList(&ObpTypeObjectType->TypeList,
&CreatorInfo->TypeList);
/* CORE-8423: Avoid inserting this a second time if someone creates a
* handle to the object type (bug in Windows 2003) */
Header->Flags &= ~OB_FLAG_CREATE_INFO;
}
/* Set the index and the entry into the object type array */
LocalObjectType->Index = ObpTypeObjectType->TotalNumberOfObjects;