소스 검색

Avoid out of range access to instab array

Pierre Muller 3 달 전
부모
커밋
f579f6dba5
1개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 6 1
      compiler/x86/aasmcpu.pas

+ 6 - 1
compiler/x86/aasmcpu.pas

@@ -909,6 +909,8 @@ implementation
                       exit;
                   end;
                 inc(i);
+                if i>high(instab) then
+                  exit;
                 insentry:=@instab[i];
               end;
           end;
@@ -1997,7 +1999,10 @@ implementation
                result:=true;
                exit;
              end;
-           inc(insentry);
+           inc(i);
+           if i>high(instab) then
+             exit;
+           insentry:=@instab[i];
          end;
         Message1(asmw_e_invalid_opcode_and_operands,GetString);
         { No instruction found, set insentry to nil and inssize to -1 }