chiark / gitweb /
do not read out of range bits of the image
authorIan Jackson <ian@liberator.relativity.greenend.org.uk>
Wed, 24 Jun 2009 23:28:29 +0000 (00:28 +0100)
committerIan Jackson <ian@liberator.relativity.greenend.org.uk>
Wed, 24 Jun 2009 23:28:29 +0000 (00:28 +0100)
pctb/rgbimage.c

index d0ba6b7..c4fd11d 100644 (file)
@@ -89,7 +89,9 @@ static int identify1(const RgbImage *base, Rect portion,
          int c;
          dbassert( dbfile_scanf("%d",&c) == 1);
          dbassert(c>=0 && c<=255);
          int c;
          dbassert( dbfile_scanf("%d",&c) == 1);
          dbassert(c>=0 && c<=255);
-         diff |= (c != RI_PIXEL(base, portion.tl.x + x, portion.tl.y + y)[i]);
+         int px= portion.tl.x + x, py= portion.tl.y + y;
+         diff |= px > portion.br.x || py > portion.br.y ||
+                 (c != RI_PIXEL(base,px,py)[i]);
        }
       }
     }
        }
       }
     }