浏览代码

+ also read the omf segment size and set objsec.Size

git-svn-id: trunk@30971 -
nickysn 10 年之前
父节点
当前提交
096743d74d
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      compiler/ogomf.pas

+ 7 - 0
compiler/ogomf.pas

@@ -976,6 +976,13 @@ implementation
         objsec.FOverlayName:=OverlayName;
         objsec.FCombination:=SegDefRec.Combination;
         objsec.FUse:=SegDefRec.Use;
+        if SegDefRec.SegmentLength>High(objsec.Size) then
+          begin
+            InputError('Segment too large');
+            SegDefRec.Free;
+            exit;
+          end;
+        objsec.Size:=SegDefRec.SegmentLength;
         SegDefRec.Free;
         Result:=True;
       end;