]> granicus.if.org Git - imagemagick/commitdiff
...
authorCristy <urban-warrior@imagemagick.org>
Sat, 10 Feb 2018 21:04:40 +0000 (16:04 -0500)
committerCristy <urban-warrior@imagemagick.org>
Sat, 10 Feb 2018 21:04:40 +0000 (16:04 -0500)
coders/dcm.c

index 3612c458557942605aa0bb099e205a5033d34eb1..6df86da952142edf665a6b2e14da2cca56519f74 100644 (file)
@@ -3470,7 +3470,7 @@ static Image *ReadDCMImage(const ImageInfo *image_info,ExceptionInfo *exception)
             if (datum > 8)
               info.bytes_per_pixel=2;
             info.depth=info.bits_allocated;
-            if (info.depth > 32)
+            if ((info.depth == 0) || (info.depth > 32))
               ThrowDCMException(CorruptImageError,"ImproperImageHeader");
             info.max_value=(1UL << info.bits_allocated)-1;
             image->depth=info.depth;
@@ -3486,7 +3486,7 @@ static Image *ReadDCMImage(const ImageInfo *image_info,ExceptionInfo *exception)
             if (info.significant_bits > 8)
               info.bytes_per_pixel=2;
             info.depth=info.significant_bits;
-            if (info.depth > 32)
+            if ((info.depth == 0) || (info.depth > 32))
               ThrowDCMException(CorruptImageError,"ImproperImageHeader");
             info.max_value=(1UL << info.significant_bits)-1;
             info.mask=(size_t) GetQuantumRange(info.significant_bits);