@@ -1323,10 +1323,10 @@ static MagickBooleanType ReadPSDChannel(Image *image,
13231323 if ((layer_info -> channel_info [channel ].type != -2 ) ||
13241324 (layer_info -> mask .flags > 2 ) || ((layer_info -> mask .flags & 0x02 ) &&
13251325 (IsStringTrue (option ) == MagickFalse )))
1326- {
1327- SeekBlob (image ,layer_info -> channel_info [channel ].size - 2 ,SEEK_CUR );
1328- return (MagickTrue );
1329- }
1326+ {
1327+ SeekBlob (image ,layer_info -> channel_info [channel ].size - 2 ,SEEK_CUR );
1328+ return (MagickTrue );
1329+ }
13301330 mask = CloneImage (image ,layer_info -> mask .page .width ,
13311331 layer_info -> mask .page .height ,MagickFalse ,exception );
13321332 if (mask != (Image * ) NULL )
@@ -1701,24 +1701,12 @@ static MagickBooleanType ReadPSDLayersInternal(Image *image,
17011701 (void ) LogMagickEvent (CoderEvent ,GetMagickModule (),
17021702 " layer blending ranges: length=%.20g" ,(double )
17031703 ((MagickOffsetType ) length ));
1704- /*
1705- We read it, but don't use it...
1706- */
1707- for (j = 0 ; j < (ssize_t ) length ; j += 8 )
1708- {
1709- size_t blend_source = ReadBlobLong (image );
1710- size_t blend_dest = ReadBlobLong (image );
1711- if (EOFBlob (image ) != MagickFalse )
1712- {
1713- layer_info = DestroyLayerInfo (layer_info ,number_layers );
1714- ThrowBinaryException (CorruptImageError ,
1715- "InsufficientImageDataInFile" ,image -> filename );
1716- }
1717- if (image -> debug != MagickFalse )
1718- (void ) LogMagickEvent (CoderEvent ,GetMagickModule (),
1719- " source(%x), dest(%x)" ,(unsigned int )
1720- blend_source ,(unsigned int ) blend_dest );
1721- }
1704+ if (DiscardBlobBytes (image ,length ) == MagickFalse )
1705+ {
1706+ layer_info = DestroyLayerInfo (layer_info ,number_layers );
1707+ ThrowBinaryException (CorruptImageError ,
1708+ "UnexpectedEndOfFile" ,image -> filename );
1709+ }
17221710 }
17231711 /*
17241712 Layer name.
0 commit comments