diff options
author | Cristy <mikayla-grace@urban-warrior.org> | 2021-01-03 11:18:46 -0500 |
---|---|---|
committer | Cristy <mikayla-grace@urban-warrior.org> | 2021-01-03 11:18:46 -0500 |
commit | 636ebf7ba9a8d24a0fdc736cd65bf5e73f9a966c (patch) | |
tree | 952606529079c4d2acc2d83b613ff76771974de1 | |
parent | 87284751ae4dadda2f8ed9e47f8f7bb0cb510561 (diff) | |
download | ImageMagick-636ebf7ba9a8d24a0fdc736cd65bf5e73f9a966c.tar.gz |
...
-rw-r--r-- | MagickCore/cache.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/MagickCore/cache.c b/MagickCore/cache.c index c3d424695..e0abf399c 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -5016,11 +5016,11 @@ static inline void PrefetchPixelCacheNexusPixels(const NexusInfo *nexus_info, } static inline MagickBooleanType ValidatePixelOffset(const ssize_t x, - const ssize_t a) + const size_t a) { - if ((x >= 0) && (a > ((ssize_t) LONG_MAX-x))) + if ((x >= 0) && (x >= ((ssize_t) LONG_MAX-(ssize_t) a))) return(MagickFalse); - if (a < ((ssize_t) LONG_MIN+x)) + if (x <= ((ssize_t) LONG_MIN+(ssize_t) a)) return(MagickFalse); return(MagickTrue); } @@ -5052,8 +5052,8 @@ static Quantum *SetPixelCacheNexusPixels( } if (((MagickSizeType) width > cache_info->width_limit) || ((MagickSizeType) height > cache_info->height_limit) || - (ValidatePixelOffset(x,(ssize_t) width) == MagickFalse) || - (ValidatePixelOffset(y,(ssize_t) height) == MagickFalse)) + (ValidatePixelOffset(x,width) == MagickFalse) || + (ValidatePixelOffset(y,height) == MagickFalse)) { (void) ThrowMagickException(exception,GetMagickModule(),ImageError, "WidthOrHeightExceedsLimit","`%s'",cache_info->filename); |