瀏覽代碼

+ check the pointer offset alignment, when freeing a suballocated block from the
win16 global heap manager

git-svn-id: trunk@37680 -

nickysn 7 年之前
父節點
當前提交
e3a1051dfc
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      rtl/win16/glbheap.inc

+ 1 - 1
rtl/win16/glbheap.inc

@@ -195,7 +195,7 @@ circular linked list.
       begin
         ASize:=(ASize+3) and $fffc;
         CurBlock:=Seg(Addr^);
-        if Ofs(Addr^)<SizeOf(TGlobalHeapBlockHeader) then
+        if (Ofs(Addr^)<SizeOf(TGlobalHeapBlockHeader)) or ((Ofs(Addr^) and 3)<>0) then
           HandleError(204);
         CurBlockP:=Ptr(CurBlock,0);
         if CurBlockP^.TotalFreeSpaceInBlock=0 then