gd: apply patch for CVE-2016-3074 from upstream

Source:
2bb97f407c.patch

The original patch contains binary data, however, which is not supported
by `patch`; we could use `git apply` here, of course, but it was simpler
to just copy-paste only the fix into a separate file and include it in
the repo.
This commit is contained in:
Joachim Fasting 2016-05-13 17:12:07 +02:00
parent f8bdd7969d
commit 220836d066
No known key found for this signature in database
GPG key ID: 4330820E1E04DCF4
2 changed files with 18 additions and 1 deletions

View file

@ -0,0 +1,13 @@
diff --git a/src/gd_gd2.c b/src/gd_gd2.c
index 6f28461..a50b33d 100644
--- a/src/gd_gd2.c
+++ b/src/gd_gd2.c
@@ -165,6 +165,8 @@ _gd2GetHeader (gdIOCtxPtr in, int *sx, int *sy,
if (gdGetInt (&cidx[i].size, in) != 1) {
goto fail2;
};
+ if (cidx[i].offset < 0 || cidx[i].size < 0)
+ goto fail2;
};
*chunkIdx = cidx;
};

View file

@ -12,12 +12,16 @@
stdenv.mkDerivation rec {
name = "gd-${version}";
version = "2.1.1";
src = fetchurl {
url = "https://github.com/libgd/libgd/releases/download/${name}/libgd-${version}.tar.xz";
sha256 = "11djy9flzxczphigqgp7fbbblbq35gqwwhn9xfcckawlapa1xnls";
};
patches = [
./CVE-2016-3074.patch
];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ zlib fontconfig freetype libjpeg libpng libtiff libXpm ];