1 Star 0 Fork 34

yaozc701/ImageMagick

forked from src-openEuler/ImageMagick 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
CVE-2021-20244.patch 1.93 KB
一键复制 编辑 原始数据 按行查看 历史
wangxiao65 提交于 2021-03-20 09:10 +08:00 . fix CVE-2021-20244
From 329dd528ab79531d884c0ba131e97d43f872ab5d Mon Sep 17 00:00:00 2001
From: ruc_zhangxiaohui <553441439@qq.com>
Date: Thu, 4 Feb 2021 04:19:08 +0800
Subject: [PATCH] uses the PerceptibleReciprocal() to prevent the
divide-by-zero from occurring (#3194)
Co-authored-by: Zhang Xiaohui <ruc_zhangxiaohui@163.com>
---
magick/fx.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/magick/fx.c b/magick/fx.c
index 07a54eb..5041de6 100644
--- a/magick/fx.c
+++ b/magick/fx.c
@@ -3403,11 +3403,11 @@ MagickExport Image *ImplodeImage(const Image *image,const double amount,
center.y=0.5*image->rows;
radius=center.x;
if (image->columns > image->rows)
- scale.y=(double) image->columns/(double) image->rows;
+ scale.y=(double) image->columns*PerceptibleReciprocal((double) image->rows);
else
if (image->columns < image->rows)
{
- scale.x=(double) image->rows/(double) image->columns;
+ scale.x=(double) image->rows*PerceptibleReciprocal((double) image->columns);
radius=center.y;
}
/*
@@ -3471,11 +3471,11 @@ MagickExport Image *ImplodeImage(const Image *image,const double amount,
*/
factor=1.0;
if (distance > 0.0)
- factor=pow(sin((double) (MagickPI*sqrt((double) distance)/
- radius/2)),-amount);
+ factor=pow(sin((double) (MagickPI*sqrt((double) distance)*PerceptibleReciprocal(
+ radius)/2)),-amount);
status=InterpolateMagickPixelPacket(image,image_view,
- UndefinedInterpolatePixel,(double) (factor*delta.x/scale.x+
- center.x),(double) (factor*delta.y/scale.y+center.y),&pixel,
+ UndefinedInterpolatePixel,(double) (factor*delta.x*PerceptibleReciprocal(scale.x)+
+ center.x),(double) (factor*delta.y*PerceptibleReciprocal(scale.y)+center.y),&pixel,
exception);
if (status == MagickFalse)
break;
--
2.23.0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yaozc701/ImageMagick.git
git@gitee.com:yaozc701/ImageMagick.git
yaozc701
ImageMagick
ImageMagick
master

搜索帮助