]> granicus.if.org Git - imagemagick/commitdiff
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18322
authorCristy <urban-warrior@imagemagick.org>
Sat, 19 Oct 2019 15:16:43 +0000 (11:16 -0400)
committerCristy <urban-warrior@imagemagick.org>
Sat, 19 Oct 2019 17:20:01 +0000 (13:20 -0400)
MagickCore/blob-private.h
MagickCore/color.c

index 45af72e10e7e0e453891573ce40d8c4bfd9a329a..1fc60fda7907b72257846bed511790b200ec0209 100644 (file)
@@ -141,7 +141,9 @@ extern MagickExport void
   GetBlobInfo(BlobInfo *),
   *MapBlob(int,const MapMode,const MagickOffsetType,const size_t),
   MSBOrderLong(unsigned char *,const size_t),
-  MSBOrderShort(unsigned char *,const size_t);
+  MSBOrderShort(unsigned char *,const size_t),
+  *ReadBlobZC(Image *,const size_t),
+  *RelinquishBlobZC(Image *,void *);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
index 227611b6044a6a01d78e31db0496e56885d01b50..03af44e8de98863a8b486c607366673890c60edc 100644 (file)
@@ -2269,7 +2269,7 @@ MagickExport MagickBooleanType QueryColorCompliance(const char *name,
       (void) memset(&pixel,0,sizeof(pixel));
       name++;
       for (n=0; isxdigit((int) ((unsigned char) name[n])) != 0; n++) ;
-      if ((n % 3) == 0)
+      if ((n == 3) || (n == 6) || (n == 9) || (n == 12) || (n == 24))
         {
           do
           {
@@ -2296,7 +2296,7 @@ MagickExport MagickBooleanType QueryColorCompliance(const char *name,
         }
       else
         {
-          if ((n % 4) != 0)
+          if ((n != 4) && (n != 8) && (n != 16) && (n != 32))
             {
               (void) ThrowMagickException(exception,GetMagickModule(),
                 OptionWarning,"UnrecognizedColor","`%s'",name);