]> granicus.if.org Git - imagemagick/commitdiff
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=34542
authorCristy <urban-warrior@imagemagick.org>
Wed, 8 Aug 2018 00:37:01 +0000 (20:37 -0400)
committerCristy <urban-warrior@imagemagick.org>
Wed, 8 Aug 2018 00:37:27 +0000 (20:37 -0400)
MagickCore/image.c

index a74ba1118cfa7f1994f88442b10776cd22efcf15..944e7f0eb20f1521c414d0124e45a7834c9a962c 100644 (file)
@@ -2749,6 +2749,9 @@ MagickExport MagickBooleanType SetImageInfo(ImageInfo *image_info,
         }
       else
         {
+          register size_t
+            n;
+
           size_t
             first,
             last;
@@ -2757,7 +2760,8 @@ MagickExport MagickBooleanType SetImageInfo(ImageInfo *image_info,
           image_info->scene=StringToUnsignedLong(image_info->scenes);
           image_info->number_scenes=image_info->scene;
           p=image_info->scenes;
-          for (q=(char *) image_info->scenes; *q != '\0'; p++)
+          q=(char *) image_info->scenes;
+          for (n=0; *q != '\0'; p++, n++)
           {
             while ((isspace((int) ((unsigned char) *p)) != 0) || (*p == ','))
               p++;
@@ -2776,6 +2780,8 @@ MagickExport MagickBooleanType SetImageInfo(ImageInfo *image_info,
             p=q;
           }
           image_info->number_scenes-=image_info->scene-1;
+          if ((image_info->number_scenes == 1) && (n > 1))
+            image_info->number_scenes++;  /* e.g. [0,0,0] */
         }
     }
   *component='\0';