I agree with Alvaro that it is unlikely to be ever removed, but this is a trivial change, so let's keep the code a bit cleaner. Also I agree that no benchmarking is required for this patch since the code is not performance-sensitive.
In no time, the patch claims performance.
So much so that the open CF is in refactoring.
> These calls are not equal, the LocalAlloc calls zeroes out the allocated memory
I took a look. The memory is initialized below by InitializeAcl() / GetTokenInformation() [1][2] so it seems we are fine here.
The patch didn't have a proper commit message and had some issues with the formating. I fixed this. The new code checks the return value of GetProcessHeap() which is unlikely to fail, so I figured unlikely() is appropriate:
+ hDefaultProcessHeap = GetProcessHeap(); + if (unlikely(hDefaultProcessHeap == NULL))