Dominique Leuenberger 2018-04-19 13:29:57 +00:00 committed by Git OBS Bridge
commit fae80b3949
3 changed files with 54 additions and 3 deletions

View File

@ -0,0 +1,40 @@
From e2d5c01a9c7022003135888c85b3255226e4cf98 Mon Sep 17 00:00:00 2001
From: Eddie Kohler <ekohler@gmail.com>
Date: Sun, 8 Apr 2018 15:15:56 -0400
Subject: [PATCH] Fix #130 (gifdiff null pointer deref).
---
src/gifdiff.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/gifdiff.c b/src/gifdiff.c
index ade1e1e..abc0142 100644
--- a/src/gifdiff.c
+++ b/src/gifdiff.c
@@ -61,9 +61,8 @@ static Clp_Parser* clp;
static void
combine_colormaps(Gif_Colormap *gfcm, Gif_Colormap *newcm)
{
- int i;
- if (!gfcm) return;
- for (i = 0; i < gfcm->ncol; i++) {
+ int i, gfcm_ncol = gfcm ? gfcm->ncol : 0;
+ for (i = 0; i < gfcm_ncol; i++) {
Gif_Color *c = &gfcm->col[i];
c->pixel = Gif_AddColor(newcm, c, 1);
}
@@ -116,11 +115,12 @@ apply_image(int is_second, Gif_Stream *gfs, int imageno, uint16_t background)
uint16_t *data = gdata[is_second];
uint16_t *last = glast[is_second];
Gif_Colormap *gfcm = gfi->local ? gfi->local : gfs->global;
+ int gfcm_ncol = gfcm ? gfcm->ncol : 0;
/* set up colormap */
- for (i = 0; i < gfcm->ncol; ++i)
+ for (i = 0; i < gfcm_ncol; ++i)
map[i] = gfcm->col[i].pixel;
- for (i = gfcm->ncol; i < 256; ++i)
+ for (i = gfcm_ncol; i < 256; ++i)
map[i] = 1;
if (gfi->transparent >= 0 && gfi->transparent < 256)
map[gfi->transparent] = TRANSP;

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Mon Apr 16 22:40:09 UTC 2018 - manfred99@gmx.ch
- add fix_gifdiff_null_pointer_deref.patch:
upstream fix, commit e2d5c01a9c7022003135888c85b3255226e4cf98
-------------------------------------------------------------------
Fri Jan 5 23:01:51 UTC 2018 - manfred99@gmx.ch

View File

@ -20,12 +20,15 @@ Name: gifsicle
Version: 1.91
Release: 0
Summary: Creating and editing GIF images and animations
License: GPL-2.0
License: GPL-2.0-only
Group: Productivity/Graphics/Other
Url: https://www.lcdf.org/gifsicle/
URL: https://www.lcdf.org/gifsicle/
Source: https://www.lcdf.org/gifsicle/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM fix_gifdiff_null_pointer_deref.patch
Patch0: fix_gifdiff_null_pointer_deref.patch
Obsoletes: ungifsicle < %{version}
Provides: ungifsicle = %{version}
BuildRequires: pkgconfig
BuildRequires: pkgconfig(x11)
%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
BuildRequires: perl-Time-HiRes
@ -50,6 +53,7 @@ appearance.
%prep
%setup -q
%patch0 -p1
%build
%configure
@ -62,7 +66,8 @@ make %{?_smp_mflags} check
%make_install
%files
%doc COPYING NEWS.md README.md
%license COPYING
%doc NEWS.md README.md
%{_bindir}/gifdiff
%{_bindir}/gifsicle
%{_bindir}/gifview