]> granicus.if.org Git - imagemagick/commitdiff
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=32644
authorCristy <urban-warrior@imagemagick.org>
Wed, 6 Sep 2017 21:58:22 +0000 (17:58 -0400)
committerCristy <urban-warrior@imagemagick.org>
Wed, 6 Sep 2017 21:58:45 +0000 (17:58 -0400)
MagickCore/geometry.c

index a9480506c4a0a00592d3ea687da4529017c95156..a5482ec4a8e91d462c6d84968106080d499cf9f5 100644 (file)
@@ -305,7 +305,7 @@ MagickExport MagickStatusType GetGeometry(const char *geometry,ssize_t *x,
         }
       if (((flags & SeparatorValue) != 0) && ((flags & WidthValue) == 0) &&
           (height != (size_t *) NULL) && (width != (size_t *) NULL))
-            *width=(*height);
+        *width=(*height);
     }
 #if 0
   /* Debugging Geometry */
@@ -1222,8 +1222,10 @@ MagickExport MagickStatusType ParseGravityGeometry(const Image *image,
       scale.y=geometry_info.sigma;
       if ((status & SigmaValue) == 0)
         scale.y=scale.x;
-      region_info->width=(size_t) floor((scale.x*image->columns/100.0)+0.5);
-      region_info->height=(size_t) floor((scale.y*image->rows/100.0)+0.5);
+      region_info->width=(size_t) MagickMax(floor((scale.x*image->columns/
+        100.0)+0.5),1.0);
+      region_info->height=(size_t) MagickMax(floor((scale.y*image->rows/
+        100.0)+0.5),1.0);
     }
   /*
     Adjust offset according to gravity setting.
@@ -1331,8 +1333,8 @@ MagickExport MagickStatusType ParseMetaGeometry(const char *geometry,ssize_t *x,
       scale.y=geometry_info.sigma;
       if ((percent_flags & SigmaValue) == 0)
         scale.y=scale.x;
-      *width=(size_t) floor(scale.x*former_width/100.0+0.5);
-      *height=(size_t) floor(scale.y*former_height/100.0+0.5);
+      *width=(size_t) MagickMax(floor(scale.x*former_width/100.0+0.5),1.0);
+      *height=(size_t) MagickMax(floor(scale.y*former_height/100.0+0.5),1.0);
       former_width=(*width);
       former_height=(*height);
     }