1 Star 0 Fork 30

lvxiaoqian / ImageMagick

forked from src-openEuler / ImageMagick 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
CVE-2020-27754.patch 1.28 KB
一键复制 编辑 原始数据 按行查看 历史
zhanghua 提交于 2021-02-10 15:33 . fix CVE-2020-25664 CVE-2020-27754
From d5df600d43c8706df513a3273d09aee6f54a9233 Mon Sep 17 00:00:00 2001
From: Cristy <urban-warrior@imagemagick.org>
Date: Mon, 14 Oct 2019 19:56:17 -0400
Subject: [PATCH] https://github.com/ImageMagick/ImageMagick/issues/1754
---
magick/quantize.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/magick/quantize.c b/magick/quantize.c
index 37f58914a..1d8cc61ff 100644
--- a/magick/quantize.c
+++ b/magick/quantize.c
@@ -3207,6 +3207,15 @@ MagickExport MagickBooleanType RemapImages(const QuantizeInfo *quantize_info,
extern "C" {
#endif
+static inline double ConstrainPixelIntensity(double x)
+{
+ if (x < (double) -(SSIZE_MAX-512))
+ return((double) -(SSIZE_MAX-512));
+ if (x > (double) (SSIZE_MAX-512))
+ return((double) (SSIZE_MAX-512));
+ return(x);
+}
+
static int IntensityCompare(const void *x,const void *y)
{
PixelPacket
@@ -3218,8 +3227,8 @@ static int IntensityCompare(const void *x,const void *y)
color_1=(PixelPacket *) x;
color_2=(PixelPacket *) y;
- intensity=(ssize_t) PixelPacketIntensity(color_1)-
- (ssize_t) PixelPacketIntensity(color_2);
+ intensity=(ssize_t) ConstrainPixelIntensity(PixelPacketIntensity(color_1))-
+ (ssize_t) ConstrainPixelIntensity(PixelPacketIntensity(color_2));
return((int) intensity);
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lvxiaoqian/ImageMagick.git
git@gitee.com:lvxiaoqian/ImageMagick.git
lvxiaoqian
ImageMagick
ImageMagick
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891