Procházet zdrojové kódy

x86 BuildInsTabMemRefSizeInfoCache: don't read past end of instab

Jonas Maebe před 3 roky
rodič
revize
2ce3656ed3
1 změnil soubory, kde provedl 2 přidání a 1 odebrání
  1. 2 1
      compiler/x86/aasmcpu.pas

+ 2 - 1
compiler/x86/aasmcpu.pas

@@ -5033,7 +5033,8 @@ implementation
           RegBCSTZMMSizeMask := 0;
           RegBCSTZMMSizeMask := 0;
           ExistsMemRef       := false;
           ExistsMemRef       := false;
 
 
-          while (insentry^.opcode=AsmOp) do
+          while (insentry<=@instab[high(instab)]) and
+                (insentry^.opcode=AsmOp) do
           begin
           begin
             MRefInfo         := msiUnknown;
             MRefInfo         := msiUnknown;