mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 10:35:28 +00:00
[NTOS]: Revert the pool tag change from r75128, and explain in comment why we cannot actually use it.
svn path=/trunk/; revision=75133
This commit is contained in:
parent
8820136bd2
commit
5cb03586f5
1 changed files with 13 additions and 2 deletions
|
@ -351,8 +351,19 @@ ObpFreeObjectNameBuffer(IN PUNICODE_STRING Name)
|
||||||
/* We know this is a pool-allocation if the size doesn't match */
|
/* We know this is a pool-allocation if the size doesn't match */
|
||||||
if (Name->MaximumLength != OBP_NAME_LOOKASIDE_MAX_SIZE)
|
if (Name->MaximumLength != OBP_NAME_LOOKASIDE_MAX_SIZE)
|
||||||
{
|
{
|
||||||
/* Free it from the pool */
|
/*
|
||||||
ExFreePoolWithTag(Buffer, OB_NAME_TAG);
|
* Free it from the pool.
|
||||||
|
*
|
||||||
|
* We cannot use here ExFreePoolWithTag(..., OB_NAME_TAG); , because
|
||||||
|
* the object name may have been massaged during operation by different
|
||||||
|
* object parse routines. If the latter ones have to resolve a symbolic
|
||||||
|
* link (e.g. as is done by CmpParseKey() and CmpGetSymbolicLink()),
|
||||||
|
* the original object name is freed and re-allocated from the pool,
|
||||||
|
* possibly with a different pool tag. At the end of the day, the new
|
||||||
|
* object name can be reallocated and completely different, but we
|
||||||
|
* should still be able to free it!
|
||||||
|
*/
|
||||||
|
ExFreePool(Buffer);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue