On 2017-06-19 18:29, hbelusca@svn.reactos.org wrote:
/** 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);
I feel like
ExFreePoolWithTag(Buffer, 0)
conveys that same message without needing a huge comment?
imho the more documented the code is, the easier to read and understand
El 19/06/2017 19:48, "Thomas Faber" thomas.faber@reactos.org escribió:
On 2017-06-19 18:29, hbelusca@svn.reactos.org wrote:
/** Free it from the pool.** We cannot use here ExFreePoolWithTag(..., OB_NAME_TAG); ,because
* the object name may have been massaged during operation bydifferent
* object parse routines. If the latter ones have to resolve asymbolic
* link (e.g. as is done by CmpParseKey() andCmpGetSymbolicLink()),
* the original object name is freed and re-allocated from thepool,
* possibly with a different pool tag. At the end of the day,the new
* object name can be reallocated and completely different, butwe
* should still be able to free it!*/ExFreePool(Buffer);I feel like
ExFreePoolWithTag(Buffer, 0)
conveys that same message without needing a huge comment?
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev