Jinoh Kang (@iamahuman) commented about dlls/ntdll/heap.c:
- group_size = offsetof( struct group, first_block ) + GROUP_BLOCK_COUNT * block_size;
- group_block_size = heap_get_block_size( heap, flags, group_size );
- heap_lock( heap, flags );
- if (group_block_size >= HEAP_MIN_LARGE_BLOCK_SIZE)
status = heap_allocate_large( heap, flags & ~HEAP_ZERO_MEMORY, group_block_size, group_size, (void **)&group );
- else
status = heap_allocate_block( heap, flags & ~HEAP_ZERO_MEMORY, group_block_size, group_size, (void **)&group );
- heap_unlock( heap, flags );
- if (status) return NULL;
- block_set_flags( (struct block *)group - 1, 0, BLOCK_FLAG_LFH );
- WriteNoFence( &group->free_bits, ~0 );
`[free-unset-v7]` ```suggestion:-0+0 WriteNoFence( &group->free_bits, ~GROUP_FLAG_FREE ); ```