diff --git a/srcpkgs/giflib/patches/CVE-2021-40633.patch b/srcpkgs/giflib/patches/CVE-2021-40633.patch new file mode 100644 index 00000000000..9002088b67d --- /dev/null +++ b/srcpkgs/giflib/patches/CVE-2021-40633.patch @@ -0,0 +1,30 @@ +From ccbc956432650734c91acb3fc88837f7b81267ff Mon Sep 17 00:00:00 2001 +From: "Eric S. Raymond" +Date: Wed, 21 Feb 2024 18:55:00 -0500 +Subject: [PATCH] Clean up memory better at end of run (CVE-2021-40633) + +--- + gif2rgb.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/gif2rgb.c b/gif2rgb.c +index d51226d..fc2e683 100644 +--- a/gif2rgb.c ++++ b/gif2rgb.c +@@ -515,10 +515,13 @@ static void GIF2RGB(int NumFiles, char *FileName, bool OneFileFlag, + } + + DumpScreen2RGB(OutFileName, OneFileFlag, ColorMap, ScreenBuffer, + GifFile->SWidth, GifFile->SHeight); + ++ for (i = 0; i < GifFile->SHeight; i++) { ++ (void)free(ScreenBuffer[i]); ++ } + (void)free(ScreenBuffer); + + { + int Error; + if (DGifCloseFile(GifFile, &Error) == GIF_ERROR) { +-- +2.43.0 + diff --git a/srcpkgs/giflib/patches/correct-document-page-install.patch b/srcpkgs/giflib/patches/correct-document-page-install.patch new file mode 100644 index 00000000000..4e10d86635e --- /dev/null +++ b/srcpkgs/giflib/patches/correct-document-page-install.patch @@ -0,0 +1,58 @@ +From 61f375082c80ee479eb8ff03189aea691a6a06aa Mon Sep 17 00:00:00 2001 +From: "Eric S. Raymond" +Date: Wed, 21 Feb 2024 08:33:51 -0500 +Subject: [PATCH] Correct document page install. + +--- + Makefile | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 87966a9..f4ecb24 100644 +--- a/Makefile ++++ b/Makefile +@@ -61,19 +61,23 @@ UTILS = $(INSTALLABLE) \ + gifsponge \ + gifwedge + + LDLIBS=libgif.a -lm + +-MANUAL_PAGES = \ ++MANUAL_PAGES_1 = \ + doc/gif2rgb.xml \ + doc/gifbuild.xml \ + doc/gifclrmp.xml \ + doc/giffix.xml \ +- doc/giflib.xml \ + doc/giftext.xml \ + doc/giftool.xml + ++MANUAL_PAGES_7 = \ ++ doc/giflib.xml ++ ++MANUAL_PAGES = $(MANUAL_PAGES_1) $(MANUAL_PAGES_7) ++ + SOEXTENSION = so + LIBGIFSO = libgif.$(SOEXTENSION) + LIBGIFSOMAJOR = libgif.$(SOEXTENSION).$(LIBMAJOR) + LIBGIFSOVER = libgif.$(SOEXTENSION).$(LIBVER) + LIBUTILSO = libutil.$(SOEXTENSION) +@@ -146,12 +150,13 @@ install-lib: + $(INSTALL) -m 644 libgif.a "$(DESTDIR)$(LIBDIR)/libgif.a" + $(INSTALL) -m 755 $(LIBGIFSO) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSOVER)" + ln -sf $(LIBGIFSOVER) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSOMAJOR)" + ln -sf $(LIBGIFSOMAJOR) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSO)" + install-man: +- $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1" +- $(INSTALL) -m 644 $(MANUAL_PAGES) "$(DESTDIR)$(MANDIR)/man1" ++ $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1" "$(DESTDIR)$(MANDIR)/man7" ++ $(INSTALL) -m 644 $(MANUAL_PAGES_1:xml=1) "$(DESTDIR)$(MANDIR)/man1" ++ $(INSTALL) -m 644 $(MANUAL_PAGES_7:xml=7) "$(DESTDIR)$(MANDIR)/man7" + uninstall: uninstall-man uninstall-include uninstall-lib uninstall-bin + uninstall-bin: + cd "$(DESTDIR)$(BINDIR)" && rm -f $(INSTALLABLE) + uninstall-include: + rm -f "$(DESTDIR)$(INCDIR)/gif_lib.h" +-- +2.43.0 + diff --git a/srcpkgs/giflib/patches/restore-deprecated-utility-functions.patch b/srcpkgs/giflib/patches/restore-deprecated-utility-functions.patch index ee05915a53a..80b16f7307c 100644 --- a/srcpkgs/giflib/patches/restore-deprecated-utility-functions.patch +++ b/srcpkgs/giflib/patches/restore-deprecated-utility-functions.patch @@ -1,16 +1,19 @@ -Source: Gentoo, written by Gary Stein Upstream: No Reason: restores deprecated GifQuantizeBuffer which some packages (notably libgdiplus) still use ---- a/Makefile 2019-03-28 14:57:23.000000000 -0400 -+++ b/Makefile 2019-03-31 23:38:20.700603561 -0400 -@@ -67,8 +67,8 @@ + +--- a/Makefile ++++ b/Makefile +@@ -95,11 +95,11 @@ $(UTILS):: libgif.a libutil.a --libgif.so: $(OBJECTS) $(HEADERS) -- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) -+libgif.so: $(OBJECTS) $(HEADERS) $(UOBJECTS) -+ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) $(UOBJECTS) +-$(LIBGIFSO): $(OBJECTS) $(HEADERS) ++$(LIBGIFSO): $(OBJECTS) $(HEADERS) $(UOBJECTS) + ifeq ($(UNAME), Darwin) + $(CC) $(CFLAGS) -dynamiclib -current_version $(LIBVER) $(OBJECTS) -o $(LIBGIFSO) + else +- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBGIFSOMAJOR) -o $(LIBGIFSO) $(OBJECTS) ++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBGIFSOMAJOR) -o $(LIBGIFSO) $(OBJECTS) $(UOBJECTS) + endif libgif.a: $(OBJECTS) $(HEADERS) - $(AR) rcs libgif.a $(OBJECTS) diff --git a/srcpkgs/giflib/template b/srcpkgs/giflib/template index 4f01f28e079..2554e41e313 100644 --- a/srcpkgs/giflib/template +++ b/srcpkgs/giflib/template @@ -1,6 +1,6 @@ # Template file for 'giflib' pkgname=giflib -version=5.2.1 +version=5.2.2 revision=1 build_style=gnu-makefile hostmakedepends="xmlto" @@ -9,10 +9,15 @@ maintainer="Orphaned " license="MIT" homepage="https://sourceforge.net/projects/giflib/" distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.gz" -checksum=31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd +checksum=be7ffbd057cadebe2aa144542fd90c6838c6a083b5e8a9048b8ee3b66b29d5fb CFLAGS="-fPIC" +post_patch() { + # don't build images for html doc, requires ImageMackig + vsed -i doc/Makefile -e '/^allhtml/s/giflib-logo.gif//' +} + post_install() { vlicense COPYING LICENSE }