ソースを参照

Avoid overflow in code

git-svn-id: trunk@40113 -
pierre 7 年 前
コミット
ae0c180e0b
1 ファイル変更1 行追加1 行削除
  1. 1 1
      compiler/symdef.pas

+ 1 - 1
compiler/symdef.pas

@@ -4426,7 +4426,7 @@ implementation
                     foffset:=tfieldvarsym(symtable.symlist[i]).fieldoffset*8;
                     fsize:=tfieldvarsym(symtable.symlist[i]).vardef.size*8;
                   end;
-                if (foffset div (sizeof(aword)*8)) <> ((foffset+fsize-1) div (sizeof(aword)*8)) then
+                if (fsize>0) and ((foffset div (sizeof(aword)*8)) <> ((foffset+fsize-1) div (sizeof(aword)*8))) then
                   exit;
                 { search recursively }
                 if (tstoreddef(tfieldvarsym(symtable.symlist[i]).vardef).typ=recorddef) and