imlib2: 1.4.6 -> 1.4.8 (security)

Fixes:

 * CVE-2014-9762
 * CVE-2014-9763
 * CVE-2014-9764
wip/yesman
Franz Pletz 8 years ago
parent 17f41a7996
commit 94396b8d91
  1. 8
      pkgs/development/libraries/imlib2/default.nix
  2. 64
      pkgs/development/libraries/imlib2/giflib51.patch

@ -1,21 +1,17 @@
{ stdenv, fetchurl, xlibsWrapper, libjpeg, libtiff, giflib, libpng, bzip2, pkgconfig }:
stdenv.mkDerivation rec {
name = "imlib2-1.4.6";
name = "imlib2-1.4.8";
src = fetchurl {
url = "mirror://sourceforge/enlightenment/${name}.tar.bz2";
sha256 = "0x1j0ylpclkp8cfpwfpkjywqz124bqskyxbw8pvwzkv2gmrbwldg";
sha256 = "0xxhgkd1axlcmf3kp1d7naiygparpg8l3sg3d263rhl2z0gm7aw9";
};
buildInputs = [ xlibsWrapper libjpeg libtiff giflib libpng bzip2 ];
nativeBuildInputs = [ pkgconfig ];
# From
# https://github.com/PhantomX/slackbuilds/blob/master/imlib2/patches/imlib2-giflib51.patch
patches = [ ./giflib51.patch ];
preConfigure = ''
substituteInPlace imlib2-config.in \
--replace "@my_libs@" ""

@ -1,64 +0,0 @@
diff -ruN imlib2-1.4.6.orig/src/modules/loaders/loader_gif.c imlib2-1.4.6/src/modules/loaders/loader_gif.c
--- imlib2-1.4.6.orig/src/modules/loaders/loader_gif.c 2013-12-21 10:16:10.000000000 +0000
+++ imlib2-1.4.6/src/modules/loaders/loader_gif.c 2014-05-27 09:52:35.857291512 +0000
@@ -36,7 +36,7 @@
#endif
if (fd < 0)
return 0;
- gif = DGifOpenFileHandle(fd);
+ gif = DGifOpenFileHandle(fd, NULL);
if (!gif)
{
close(fd);
@@ -60,13 +60,13 @@
h = gif->Image.Height;
if (!IMAGE_DIMENSIONS_OK(w, h))
{
- DGifCloseFile(gif);
+ DGifCloseFile(gif, NULL);
return 0;
}
rows = malloc(h * sizeof(GifRowType *));
if (!rows)
{
- DGifCloseFile(gif);
+ DGifCloseFile(gif, NULL);
return 0;
}
for (i = 0; i < h; i++)
@@ -78,7 +78,7 @@
rows[i] = malloc(w * sizeof(GifPixelType));
if (!rows[i])
{
- DGifCloseFile(gif);
+ DGifCloseFile(gif, NULL);
for (i = 0; i < h; i++)
{
if (rows[i])
@@ -150,7 +150,7 @@
im->data = (DATA32 *) malloc(sizeof(DATA32) * w * h);
if (!im->data)
{
- DGifCloseFile(gif);
+ DGifCloseFile(gif, NULL);
free(rows);
return 0;
}
@@ -181,7 +181,7 @@
last_per = (int)per;
if (!(progress(im, (int)per, 0, last_y, w, i)))
{
- DGifCloseFile(gif);
+ DGifCloseFile(gif, NULL);
for (i = 0; i < h; i++)
{
free(rows[i]);
@@ -198,7 +198,7 @@
{
progress(im, 100, 0, last_y, w, h);
}
- DGifCloseFile(gif);
+ DGifCloseFile(gif, NULL);
for (i = 0; i < h; i++)
{
free(rows[i]);
Loading…
Cancel
Save