From 1f859c0b8f3ad1c9c4a530353e75856c34e08d98 Mon Sep 17 00:00:00 2001 From: Cristy Date: Mon, 9 Apr 2018 20:51:00 -0400 Subject: [PATCH] https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7500 --- coders/jp2.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/coders/jp2.c b/coders/jp2.c index 96bdc8a6d..320ecbed3 100644 --- a/coders/jp2.c +++ b/coders/jp2.c @@ -63,6 +63,7 @@ #include "MagickCore/profile.h" #include "MagickCore/property.h" #include "MagickCore/quantum-private.h" +#include "MagickCore/resource_.h" #include "MagickCore/semaphore.h" #include "MagickCore/static.h" #include "MagickCore/statistic.h" @@ -363,7 +364,15 @@ static Image *ReadJP2Image(const ImageInfo *image_info,ExceptionInfo *exception) ThrowReaderException(DelegateError,"UnableToDecodeImageFile"); } } - if ((image_info->number_scenes != 0) && (image_info->scene != 0)) + if ((AcquireMagickResource(WidthResource,(size_t) jp2_image->comps[0].w) == MagickFalse) || + (AcquireMagickResource(HeightResource,(size_t) jp2_image->comps[0].h) == MagickFalse)) + { + opj_stream_destroy(jp2_stream); + opj_destroy_codec(jp2_codec); + opj_image_destroy(jp2_image); + ThrowReaderException(DelegateError,"UnableToDecodeImageFile"); + } + if ((image_info->number_scenes != 0) && (image_info->scene != 0)) jp2_status=opj_get_decoded_tile(jp2_codec,jp2_stream,jp2_image, (unsigned int) image_info->scene-1); else -- 2.40.0