Selaa lähdekoodia

fpreadtiff: fixed checking for code 4096 before add instead of after last add, bug #22558

git-svn-id: trunk@22238 -
Mattias Gaertner 13 vuotta sitten
vanhempi
commit
be41f296a0
1 muutettua tiedostoa jossa 2 lisäystä ja 1 poistoa
  1. 2 1
      packages/fcl-image/src/fpreadtiff.pas

+ 2 - 1
packages/fcl-image/src/fpreadtiff.pas

@@ -2181,6 +2181,8 @@ var
     p: PByte;
     p: PByte;
   begin
   begin
     //WriteLn('AddStringToTable Code=',Code,' FCFCode=',AddFirstCharFromCode,' TableCount=',TableCount,' TableCapacity=',TableCapacity);
     //WriteLn('AddStringToTable Code=',Code,' FCFCode=',AddFirstCharFromCode,' TableCount=',TableCount,' TableCapacity=',TableCapacity);
+    if TableCount=4096-259 then
+      Error('LZW too many codes');
     // grow table
     // grow table
     if TableCount>=TableCapacity then begin
     if TableCount>=TableCapacity then begin
       TableCapacity:=TableCapacity*2+128;
       TableCapacity:=TableCapacity*2+128;
@@ -2223,7 +2225,6 @@ var
     inc(TableCount);
     inc(TableCount);
     case TableCount+259 of
     case TableCount+259 of
     512,1024,2048: inc(CurBitLength);
     512,1024,2048: inc(CurBitLength);
-    4096: Error('LZW too many codes');
     end;
     end;
   end;
   end;