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

@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
sha256 = "11djy9flzxczphigqgp7fbbblbq35gqwwhn9xfcckawlapa1xnls";
};
patches = [
./CVE-2016-3074.patch
];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ zlib fontconfig freetype libjpeg libpng libtiff libXpm ];