1 Star 0 Fork 30

lvxiaoqian / ImageMagick

forked from src-openEuler / ImageMagick 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
CVE-2021-20241-CVE-2021-20243.patch 2.66 KB
一键复制 编辑 原始数据 按行查看 历史
wangxiao65 提交于 2021-03-16 09:08 . fix CVE-2021-20241 CVE-2021-20243
From 53cb91b3e7bf95d0e372cbc745e0055ac6054745 Mon Sep 17 00:00:00 2001
From: Cristy <mikayla-grace@urban-warrior.org>
Date: Wed, 3 Feb 2021 15:30:39 -0500
Subject: [PATCH] https://github.com/ImageMagick/ImageMagick/pull/3177
---
coders/dcm.c | 12 ++++++------
coders/jp2.c | 6 ++++--
magick/resize.c | 2 +-
3 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/coders/dcm.c b/coders/dcm.c
index d274ad54c..29eed9618 100644
--- a/coders/dcm.c
+++ b/coders/dcm.c
@@ -2982,12 +2982,12 @@ static MagickBooleanType ReadDCMPixels(Image *image,DCMInfo *info,
}
else
{
- SetPixelRed(q,(((size_t) pixel.red) |
- (((size_t) GetPixelRed(q)) << 8)));
- SetPixelGreen(q,(((size_t) pixel.green) |
- (((size_t) GetPixelGreen(q)) << 8)));
- SetPixelBlue(q,(((size_t) pixel.blue) |
- (((size_t) GetPixelBlue(q)) << 8)));
+ SetPixelRed(q,(Quantum) (((ssize_t) pixel.red) |
+ (((ssize_t) GetPixelRed(q)) << 8)));
+ SetPixelGreen(q,(Quantum) (((ssize_t) pixel.green) |
+ (((ssize_t) GetPixelGreen(q)) << 8)));
+ SetPixelBlue(q,(Quantum) (((ssize_t) pixel.blue) |
+ (((ssize_t) GetPixelBlue(q)) << 8)));
}
q++;
}
diff --git a/coders/jp2.c b/coders/jp2.c
index 0354f8298..7dd0f1332 100644
--- a/coders/jp2.c
+++ b/coders/jp2.c
@@ -1047,8 +1047,10 @@ static MagickBooleanType WriteJP2Image(const ImageInfo *image_info,Image *image)
scale=(double) (((size_t) 1UL << jp2_image->comps[i].prec)-1)/
QuantumRange;
- q=jp2_image->comps[i].data+(y/jp2_image->comps[i].dy*
- image->columns/jp2_image->comps[i].dx+x/jp2_image->comps[i].dx);
+ q=jp2_image->comps[i].data+(ssize_t) (y*PerceptibleReciprocal(
+ jp2_image->comps[i].dy)*image->columns*PerceptibleReciprocal(
+ jp2_image->comps[i].dx)+x*PerceptibleReciprocal(
+ jp2_image->comps[i].dx));
switch (i)
{
case 0:
diff --git a/magick/resize.c b/magick/resize.c
index fe662c144..1f3e16928 100644
--- a/magick/resize.c
+++ b/magick/resize.c
@@ -1612,7 +1612,7 @@ MagickExport MagickRealType GetResizeFilterWeight(
*/
assert(resize_filter != (ResizeFilter *) NULL);
assert(resize_filter->signature == MagickCoreSignature);
- x_blur=fabs((double) x)/resize_filter->blur; /* X offset with blur scaling */
+ x_blur=fabs((double) x)*PerceptibleReciprocal(resize_filter->blur); /* X offset with blur scaling */
if ((resize_filter->window_support < MagickEpsilon) ||
(resize_filter->window == Box))
scale=1.0; /* Point or Box Filter -- avoid division by zero */
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lvxiaoqian/ImageMagick.git
git@gitee.com:lvxiaoqian/ImageMagick.git
lvxiaoqian
ImageMagick
ImageMagick
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891