Commit ffbbd7201 for imagemagick.org
commit ffbbd7201e0ba08707849c0053aa703e076bf86e
Author: Cristy <urban-warrior@imagemagick.org>
Date: Tue Mar 3 19:45:11 2026 -0500
https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-5ggv-92r5-cp4p
diff --git a/MagickCore/visual-effects.c b/MagickCore/visual-effects.c
index 3573e17e3..5136736f1 100644
--- a/MagickCore/visual-effects.c
+++ b/MagickCore/visual-effects.c
@@ -3535,6 +3535,9 @@ MagickExport Image *WaveletDenoiseImage(const Image *image,
MemoryInfo
*pixels_info;
+ size_t
+ number_levels = 5;
+
ssize_t
channel;
@@ -3581,6 +3584,9 @@ MagickExport Image *WaveletDenoiseImage(const Image *image,
pixels=(float *) GetVirtualMemoryBlob(pixels_info);
status=MagickTrue;
number_pixels=(MagickSizeType) image->columns*image->rows;
+ while ((number_levels > 0) &&
+ ((1UL << (number_levels-1)) >= MagickMin(image->columns,image->rows)))
+ number_levels--;
image_view=AcquireAuthenticCacheView(image,exception);
noise_view=AcquireAuthenticCacheView(noise_image,exception);
for (channel=0; channel < (ssize_t) GetPixelChannels(image); channel++)
@@ -3642,7 +3648,7 @@ MagickExport Image *WaveletDenoiseImage(const Image *image,
have high values in the noisy parts of the signal.
*/
high_pass=0;
- for (level=0; level < 5; level++)
+ for (level=0; level < (ssize_t) number_levels; level++)
{
double
magnitude;