From 9312419ce861d00f323c4fd02c039b58a01e8f59 Mon Sep 17 00:00:00 2001 From: nickysn Date: Thu, 16 May 2013 22:13:35 +0000 Subject: [PATCH] * fixed heap block start and size alignment in RegisterTinyHeapBlock git-svn-id: trunk@24519 - --- rtl/inc/tinyheap.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rtl/inc/tinyheap.inc b/rtl/inc/tinyheap.inc index 14f4f3cbf2..d608a20f7d 100644 --- a/rtl/inc/tinyheap.inc +++ b/rtl/inc/tinyheap.inc @@ -230,11 +230,13 @@ {$ifdef DEBUG_TINY_HEAP} Writeln('RegisterTinyHeapBlock(', ptruint(AAddress), ',', ASize, ')'); {$endif DEBUG_TINY_HEAP} - if (ptruint(AAddress) and 1) = 0 then + if (ptruint(AAddress) and 1) <> 0 then begin Inc(AAddress); Dec(ASize); end; + if (ASize and 1) <> 0 then + Dec(ASize); pptruint(AAddress)^ := ASize - SizeOf(ptruint); FreeMem(pptruint(AAddress) + 1, ASize - SizeOf(ptruint)); end;