From b174124b6c34654a987f6a7b6c5b5777ec451d9c648001ebbbd7a877217892b0 Mon Sep 17 00:00:00 2001 From: Manfred Schwarb Date: Fri, 18 Aug 2017 08:26:26 +0000 Subject: [PATCH] Accepting request 517505 from home:manfred999 upgrade to version 1.90 OBS-URL: https://build.opensuse.org/request/show/517505 OBS-URL: https://build.opensuse.org/package/show/graphics/gifsicle?expand=0&rev=11 --- correct_zero-element_colormaps.patch | 18 ------- fix_ignore-errors_and_merge_mode.patch | 39 --------------- gifsicle-1.88.tar.gz | 3 -- gifsicle-1.90.tar.gz | 3 ++ gifsicle.changes | 39 +++++++++++++++ gifsicle.spec | 67 ++++++++------------------ initialize_missing_image.patch | 15 ------ no_status-1_when_valid_output.patch | 21 -------- 8 files changed, 62 insertions(+), 143 deletions(-) delete mode 100644 correct_zero-element_colormaps.patch delete mode 100644 fix_ignore-errors_and_merge_mode.patch delete mode 100644 gifsicle-1.88.tar.gz create mode 100644 gifsicle-1.90.tar.gz delete mode 100644 initialize_missing_image.patch delete mode 100644 no_status-1_when_valid_output.patch diff --git a/correct_zero-element_colormaps.patch b/correct_zero-element_colormaps.patch deleted file mode 100644 index 3403f51..0000000 --- a/correct_zero-element_colormaps.patch +++ /dev/null @@ -1,18 +0,0 @@ -Correct uninitialized-memory bug with zero-element colormaps. -Tim Strazzere report. Also fixed by a0a3651. - -diff --git a/src/opttemplate.c b/src/opttemplate.c -index 1f96c41..407b940 100644 ---- a/src/opttemplate.c -+++ b/src/opttemplate.c -@@ -146,8 +146,9 @@ X(apply_frame)(palindex_type *dst, Gif_Stream* gfs, Gif_Image* gfi, - for (i = 0; i < colormap->ncol; i++) - map[i] = colormap->col[i].pixel; - /* out-of-bounds colors map to 0, for the sake of argument */ -+ y = colormap->ncol ? colormap->col[0].pixel : 0; - for (i = colormap->ncol; i < 256; i++) -- map[i] = colormap->col[0].pixel; -+ map[i] = y; - if (gfi->transparent >= 0 && gfi->transparent < 256) - map[gfi->transparent] = TRANSP; - else diff --git a/fix_ignore-errors_and_merge_mode.patch b/fix_ignore-errors_and_merge_mode.patch deleted file mode 100644 index f2ca380..0000000 --- a/fix_ignore-errors_and_merge_mode.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/src/gifsicle.c b/src/gifsicle.c -index d474dfc..c0de94b 100644 ---- a/src/gifsicle.c -+++ b/src/gifsicle.c -@@ -521,8 +521,6 @@ show_frame(int imagenumber, int usename) - * input a stream - **/ - --static int gifread_error_count; -- - static void - gifread_error(Gif_Stream* gfs, Gif_Image* gfi, - int is_error, const char* message) -@@ -732,15 +730,20 @@ input_stream(const char *name) - verbose_open('<', name); - - /* read file */ -- gifread_error_count = 0; -- gfs = Gif_FullReadFile(f, gif_read_flags | GIF_READ_COMPRESSED, -- name, gifread_error); -+ { -+ int old_error_count = error_count; -+ gfs = Gif_FullReadFile(f, gif_read_flags | GIF_READ_COMPRESSED, -+ name, gifread_error); -+ if ((!gfs || (Gif_ImageCount(gfs) == 0 && gfs->errors > 0)) -+ && componentno != 1) -+ lerror(name, "trailing garbage ignored"); -+ if (!no_ignore_errors) -+ error_count = old_error_count; -+ } - - if (!gfs || (Gif_ImageCount(gfs) == 0 && gfs->errors > 0)) { - if (componentno == 1) - lerror(name, "file not in GIF format"); -- else -- lerror(name, "trailing garbage ignored"); - Gif_DeleteStream(gfs); - if (verbosing) - verbose_close('>'); diff --git a/gifsicle-1.88.tar.gz b/gifsicle-1.88.tar.gz deleted file mode 100644 index dbeefb6..0000000 --- a/gifsicle-1.88.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4585d2e683d7f68eb8fcb15504732d71d7ede48ab5963e61915201f9e68305be -size 564670 diff --git a/gifsicle-1.90.tar.gz b/gifsicle-1.90.tar.gz new file mode 100644 index 0000000..e4b25be --- /dev/null +++ b/gifsicle-1.90.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d73b096752d58fa604cea559199aa6f55b45a3ec833898f94ff7997d22b834d +size 571910 diff --git a/gifsicle.changes b/gifsicle.changes index 64b3a09..0bc53c7 100644 --- a/gifsicle.changes +++ b/gifsicle.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Fri Aug 18 09:59:28 CEST 2017 - manfred99@gmx.ch + +- drop patch fix_use-after-free.patch +- upgrade to version 1.90: + * Kill a use-after-free error reported by @junxzm1990. + +------------------------------------------------------------------- +Mon Aug 14 11:03:52 CEST 2017 - manfred99@gmx.ch + +- drop SLE 11 support in spec file + +------------------------------------------------------------------- +Sun Aug 13 22:56:53 CEST 2017 - manfred99@gmx.ch + +- use spec description of the in-tree spec file. +- add fix_use-after-free.patch: + upstream fix, commit 81fd7823f6d9c85ab598bc850e40382068361185 +- drop following patches: + * fix-escapes-in-info-mode.patch + * coverity.patch + * coverity2.patch + * document-no-conserve-memory.patch + * fix-out-of-bound.patch + * no_status-1_when_valid_output.patch + * fix_ignore-errors_and_merge_mode.patch + * initialize_missing_image.patch + * correct_zero-element_colormaps.patch +- upgrade to version 1.89: + * Add SIMD support for resizing. When enabled this improves resize + performance enormously for complex resize methods. + * Add thread support for resizing. `-j[NTHREADS]` tells gifsicle to use + up to NTHREADS threads to resize an input image. There are several + caveats---multiple threads can be only used on unoptimized images. + Thanks to Github user @wilkesybear. + * Quashed several crashes and undefined behaviors. Thanks to Github users + including @pornel, @strazzere, and @b0b0505. + * Minor bug fixes. + ------------------------------------------------------------------- Mon Jul 10 10:54:17 UTC 2017 - jengelh@inai.de diff --git a/gifsicle.spec b/gifsicle.spec index 9cb66fe..ba15f18 100644 --- a/gifsicle.spec +++ b/gifsicle.spec @@ -17,79 +17,52 @@ Name: gifsicle -Version: 1.88 +Version: 1.90 Release: 0 Summary: Creating and editing GIF images and animations License: GPL-2.0 Group: Productivity/Graphics/Other Url: https://www.lcdf.org/gifsicle/ Source: https://www.lcdf.org/gifsicle/%{name}-%{version}.tar.gz -Patch0: fix-escapes-in-info-mode.patch -Patch1: coverity.patch -Patch2: coverity2.patch -Patch3: document-no-conserve-memory.patch -Patch4: fix-out-of-bound.patch -Patch5: no_status-1_when_valid_output.patch -Patch6: fix_ignore-errors_and_merge_mode.patch -Patch7: initialize_missing_image.patch -Patch8: correct_zero-element_colormaps.patch Obsoletes: ungifsicle < %{version} Provides: ungifsicle = %{version} -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: autoconf -BuildRequires: automake -%if 0%{?suse_version} == 1110 -BuildRequires: xorg-x11-libX11 -BuildRequires: xorg-x11-libX11-devel -%else BuildRequires: pkgconfig(x11) +%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} +BuildRequires: perl-Time-HiRes %endif %description -Gifsicle twaddles GIF image files in a variety of ways. +Gifsicle manipulates GIF image files on the +command line. It supports merging several GIFs +into a GIF animation; exploding an animation into +its component frames; changing individual frames +in an animation; turning interlacing on and off; +adding transparency; adding delays, disposals, and +looping to animations; adding or removing +comments; optimizing animations for space; and +changing images' colormaps, among other things. -It supports merging several GIFs into a GIF animation; exploding an -animation into its component frames; changing individual frames in an -animation; turning interlacing on and off; adding transparency; adding -delays, disposals, and looping to animations; adding or removing -comments; flipping and rotation; optimizing animations for space; and -changing images' colormaps, among other things. Extensive command-line -options control which, if any, of these occur. - -Gifview, a companion program requiring X11, displays GIF images and -animations on an X display. It can display multi-frame GIFs either as -slideshows, displaying one frame at a time, or as real-time animations. - -Gifdiff, another companion program, checks two GIF files for identical -visual appearance. This is probably most useful for testing -GIF-manipulating software. +The gifsicle package contains two other programs: +gifview, a lightweight GIF viewer for X, can show +animations as slideshows or in real time, and +gifdiff compares two GIFs for identical visual +appearance. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -autoreconf %build %configure make %{?_smp_mflags} %check -make check +make %{?_smp_mflags} check %install -make install DESTDIR=%{buildroot} +%make_install %files -%defattr(-,root,root) -%doc COPYING NEWS README.md +%doc COPYING NEWS.md README.md %{_bindir}/gifdiff %{_bindir}/gifsicle %{_bindir}/gifview diff --git a/initialize_missing_image.patch b/initialize_missing_image.patch deleted file mode 100644 index b02307e..0000000 --- a/initialize_missing_image.patch +++ /dev/null @@ -1,15 +0,0 @@ -Set missing image data to 0, rather than leaving it uninitialized. -Avoid valgrind warnings. - -diff --git a/src/gifread.c b/src/gifread.c -index d2021ee..e9a58dd 100644 ---- a/src/gifread.c -+++ b/src/gifread.c -@@ -373,6 +373,7 @@ read_image_data(Gif_Context *gfc, Gif_Reader *grr) - sprintf(buf, "missing %ld %s of image data", delta, - delta == 1 ? "pixel" : "pixels"); - gif_read_error(gfc, 1, buf); -+ memset(&gfc->image[gfc->decodepos], 0, delta); - } else if (delta < -1) { - /* One pixel of superfluous data is OK; that could be the - code == next_code case. */ diff --git a/no_status-1_when_valid_output.patch b/no_status-1_when_valid_output.patch deleted file mode 100644 index 8357cf6..0000000 --- a/no_status-1_when_valid_output.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/support.c b/src/support.c -index 2094b0a..fe247a8 100644 ---- a/src/support.c -+++ b/src/support.c -@@ -1109,14 +1109,14 @@ find_color_or_error(Gif_Color *color, Gif_Stream *gfs, Gif_Image *gfi, - return color->pixel; - else { - if (color_context) -- lerror(gfs->landmark, "%s color out of range", color_context); -+ lwarning(gfs->landmark, "%s color out of range", color_context); - return -1; - } - } - - index = Gif_FindColor(gfcm, color); - if (index < 0 && color_context) -- lerror(gfs->landmark, "%s color not in colormap", color_context); -+ lwarning(gfs->landmark, "%s color not in colormap", color_context); - return index; - } -