Jinoh Kang (@iamahuman) commented about dlls/ntdll/heap.c:
* the current affinity_group might be only partially free.
*/
- if (!InterlockedCompareExchangePointer( (void *)&category->affinity_group[affinity], group, NULL ))
return STATUS_SUCCESS;
- /* try re-using the block group instead of releasing it */
+#ifdef _WIN64
- if (category->groups.Header16.Depth <= 16)
+#else
- if (category->groups.Depth <= 16)
+#endif
RtlInterlockedPushEntrySList( &category->groups, (SLIST_ENTRY *)&group->entry );
- else
status = group_release( heap, flags, category, group );
- return status;
```suggestion:-4+0 { RtlInterlockedPushEntrySList( &category->groups, (SLIST_ENTRY *)&group->entry );bi return STATUS_SUCCESS; }
return group_release( heap, flags, category, group ); ```