Rémi Bernon : ntdll: Introduce a new subheap_overhead helper.
Alexandre Julliard
julliard at winehq.org
Tue May 24 15:54:59 CDT 2022
Module: wine
Branch: master
Commit: c2b89fd77615334d1c4abd3cd81905731657b6fc
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c2b89fd77615334d1c4abd3cd81905731657b6fc
Author: Rémi Bernon <rbernon at codeweavers.com>
Date: Sat May 21 08:54:03 2022 +0200
ntdll: Introduce a new subheap_overhead helper.
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/ntdll/heap.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
index 40fbd379772..540625bff27 100644
--- a/dlls/ntdll/heap.c
+++ b/dlls/ntdll/heap.c
@@ -271,6 +271,11 @@ static inline SIZE_T subheap_size( const SUBHEAP *subheap )
return subheap->size;
}
+static inline SIZE_T subheap_overhead( const SUBHEAP *subheap )
+{
+ return subheap->headerSize;
+}
+
static inline const void *subheap_commit_end( const SUBHEAP *subheap )
{
return (char *)subheap_base( subheap ) + subheap->commitSize;
@@ -499,7 +504,7 @@ static void heap_dump( const HEAP *heap )
if (!check_subheap( subheap )) return;
- overhead += (char *)first_block( subheap ) - base;
+ overhead += subheap_overhead( subheap );
for (block = first_block( subheap ); block; block = next_block( subheap, block ))
{
if (block_get_flags( block ) & ARENA_FLAG_FREE)
@@ -1008,7 +1013,7 @@ static SUBHEAP *HEAP_CreateSubHeap( HEAP *heap, LPVOID address, DWORD flags,
/* Create the first free block */
- create_free_block( subheap, first_block( subheap ), subheap->size - subheap->headerSize );
+ create_free_block( subheap, first_block( subheap ), subheap_size( subheap ) - subheap_overhead( subheap ) );
return subheap;
}
@@ -1863,7 +1868,7 @@ static NTSTATUS heap_walk( const HEAP *heap, struct rtl_heap_entry *entry )
subheap = LIST_ENTRY( next, SUBHEAP, entry );
base = subheap_base( subheap );
entry->lpData = base;
- entry->cbData = (char *)first_block( subheap ) - base;
+ entry->cbData = subheap_overhead( subheap );
entry->cbOverhead = 0;
entry->iRegionIndex = 0;
entry->wFlags = RTL_HEAP_ENTRY_REGION;
More information about the wine-cvs
mailing list