ecere/gfx/pcx: Fixed crashes guessing images as PCX
authorJerome St-Louis <jerome@ecere.com>
Sat, 19 Oct 2013 05:49:44 +0000 (01:49 -0400)
committerJerome St-Louis <jerome@ecere.com>
Sat, 19 Oct 2013 05:49:44 +0000 (01:49 -0400)
ecere/src/gfx/bitmaps/PCXFormat.ec

index 4a3f90d..6e0eb63 100644 (file)
@@ -40,18 +40,21 @@ class PCXFormat : BitmapFormat
       PCXHead header;
       if(f.Read(&header,sizeof(header),1))
       {
-         switch(header.colorPlanes)
+         if(header.xMax > header.xMin && header.yMax > header.yMin)
          {
-            case 1:
-               result = bitmap.Allocate(null,
-                  header.xMax-header.xMin+1,header.yMax-header.yMin+1,
-                  header.xMax-header.xMin+1, pixelFormat8, true);
-               break;
-            case 3:
-               result = bitmap.Allocate(null,
-                  header.xMax-header.xMin+1,header.yMax-header.yMin+1,
-                  header.xMax-header.xMin+1, pixelFormat888, false);
-               break;
+            switch(header.colorPlanes)
+            {
+               case 1:
+                  result = bitmap.Allocate(null,
+                     header.xMax-header.xMin+1,header.yMax-header.yMin+1,
+                     header.xMax-header.xMin+1, pixelFormat8, true);
+                  break;
+               case 3:
+                  result = bitmap.Allocate(null,
+                     header.xMax-header.xMin+1,header.yMax-header.yMin+1,
+                     header.xMax-header.xMin+1, pixelFormat888, false);
+                  break;
+            }
          }
          if(result)
          {