Alexandre Julliard : ntdll: Don' t switch from small to large block when HEAP_REALLOC_IN_PLACE_ONLY is specified .

Alexandre Julliard julliard at winehq.org
Thu Aug 6 10:49:06 CDT 2009


Module: wine
Branch: master
Commit: 7f64b8a9a98c849debcc779582607aaa0bf77390
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7f64b8a9a98c849debcc779582607aaa0bf77390

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Aug  5 20:35:36 2009 +0200

ntdll: Don't switch from small to large block when HEAP_REALLOC_IN_PLACE_ONLY is specified.

---

 dlls/ntdll/heap.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
index 23c0ca2..14cac32 100644
--- a/dlls/ntdll/heap.c
+++ b/dlls/ntdll/heap.c
@@ -1564,6 +1564,7 @@ PVOID WINAPI RtlReAllocateHeap( HANDLE heap, ULONG flags, PVOID ptr, SIZE_T size
 
         if (rounded_size >= HEAP_MIN_LARGE_BLOCK_SIZE && (flags & HEAP_GROWABLE))
         {
+            if (flags & HEAP_REALLOC_IN_PLACE_ONLY) goto oom;
             if (!(ret = allocate_large_block( heapPtr, flags, size ))) goto oom;
             notify_alloc( ret, size, flags & HEAP_ZERO_MEMORY );
             memcpy( ret, pArena + 1, oldActualSize );




More information about the wine-cvs mailing list