From ba7a76bf37e402167f65e8a7a4ac97a0bf595da3 Mon Sep 17 00:00:00 2001 From: Rika Ichinose Date: Sun, 27 Oct 2024 21:49:05 +0300 Subject: [PATCH] Allow MemSize(nil) to match FreeMem(nil). --- rtl/inc/heap.inc | 2 ++ rtl/inc/heaptrc.pp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/rtl/inc/heap.inc b/rtl/inc/heap.inc index 1f3304d757..0d98c577ea 100644 --- a/rtl/inc/heap.inc +++ b/rtl/inc/heap.inc @@ -1303,6 +1303,8 @@ end; function SysMemSize(p: pointer): ptruint; begin + if not assigned(p) then + exit(0); result := pmemchunk_fixed(pointer(p)-sizeof(tmemchunk_fixed_hdr))^.size; if (result and fixedsizeflag) = 0 then result := result and sizemask-sizeof(tmemchunk_var_hdr) diff --git a/rtl/inc/heaptrc.pp b/rtl/inc/heaptrc.pp index 9f49dc1b57..8289f3e302 100644 --- a/rtl/inc/heaptrc.pp +++ b/rtl/inc/heaptrc.pp @@ -782,6 +782,8 @@ function TraceMemSize(p:pointer):ptruint; var pp : pheap_mem_info; begin + if not assigned(p) then + exit(0); pp:=pheap_mem_info(p-sizeof(theap_mem_info)); TraceMemSize:=pp^.size; end;