Ver Fonte

* return nil in TraceGetMem if SysGetMem returns nil

git-svn-id: trunk@6811 -
pierre há 18 anos atrás
pai
commit
4f3f5d042b
1 ficheiros alterados com 7 adições e 0 exclusões
  1. 7 0
      rtl/inc/heaptrc.pp

+ 7 - 0
rtl/inc/heaptrc.pp

@@ -371,7 +371,14 @@ begin
 {$endif cpuarm}
   if add_tail then
     inc(allocsize,sizeof(ptrint));
+  { if ReturnNilIfGrowHeapFails is true
+    SysGetMem can return nil }
   p:=SysGetMem(allocsize);
+  if (p=nil) then
+    begin
+      TraceGetMem:=nil;
+      exit;
+    end;
   pp:=pheap_mem_info(p);
   inc(p,sizeof(theap_mem_info));
 { Create the info block }