소스 검색

+ 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