[NTOS:OB]

- Use ObpTypeObjectType's lock when modifying object type global properties, not the new object type's
- Correctly free string returned by RtlUnicodeStringToAnsiString

svn path=/trunk/; revision=63825
This commit is contained in:
Thomas Faber 2014-08-07 00:16:21 +00:00
parent 1f60ce121c
commit 6d3abb68c2

View file

@ -1145,7 +1145,7 @@ ObCreateObjectType(IN PUNICODE_STRING TypeName,
/* Set the key and free the converted name */
LocalObjectType->Key = *(PULONG)AnsiName.Buffer;
ExFreePool(AnsiName.Buffer);
RtlFreeAnsiString(&AnsiName);
}
else
{
@ -1227,7 +1227,7 @@ ObCreateObjectType(IN PUNICODE_STRING TypeName,
InitializeListHead(&LocalObjectType->TypeList);
/* Lock the object type */
ObpEnterObjectTypeMutex(LocalObjectType);
ObpEnterObjectTypeMutex(ObpTypeObjectType);
/* Get creator info and insert it into the type list */
CreatorInfo = OBJECT_HEADER_TO_CREATOR_INFO(Header);
@ -1246,7 +1246,7 @@ ObCreateObjectType(IN PUNICODE_STRING TypeName,
}
/* Release the object type */
ObpLeaveObjectTypeMutex(LocalObjectType);
ObpLeaveObjectTypeMutex(ObpTypeObjectType);
/* Check if we're actually creating the directory object itself */
if (!(ObpTypeDirectoryObject) ||