From bf5512cd534148f19e348ec9efdf60a5af267130 Mon Sep 17 00:00:00 2001 From: Cristy Date: Thu, 5 Mar 2026 20:13:23 -0500 Subject: [PATCH] ensure magnification^2 <= MaxMagnification --- MagickCore/resize.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/MagickCore/resize.c b/MagickCore/resize.c index 355e28a0e9..ddb6a16cfd 100644 --- a/MagickCore/resize.c +++ b/MagickCore/resize.c @@ -2885,6 +2885,7 @@ static inline void Scale3X(const Image *magick_unused(source), MagickExport Image *MagnifyImage(const Image *image,ExceptionInfo *exception) { #define MagnifyImageTag "Magnify/Image" +#define MaxMagnification 9 CacheView *image_view, @@ -2909,13 +2910,13 @@ MagickExport Image *MagnifyImage(const Image *image,ExceptionInfo *exception) RectangleInfo rectangle; - ssize_t - y; - - unsigned char + size_t magnification, width; + ssize_t + y; + void (*scaling_method)(const Image *,const Quantum *,Quantum *,size_t); @@ -3021,6 +3022,7 @@ MagickExport Image *MagnifyImage(const Image *image,ExceptionInfo *exception) default: break; } + assert((magnification*magnification) <= MaxMagnification); /* Make a working copy of the source image and convert it to RGB colorspace. */ @@ -3058,7 +3060,7 @@ MagickExport Image *MagnifyImage(const Image *image,ExceptionInfo *exception) for (y=0; y < (ssize_t) source_image->rows; y++) { Quantum - r[9*MaxPixelChannels]; /* result pixels */ + r[MaxMagnification*MaxPixelChannels]; /* result pixels */ Quantum *magick_restrict q;