diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/image.scm | 9 | ||||
-rw-r--r-- | gnu/packages/patches/libpng-fix-null-ptr-dereference.patch | 36 |
2 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 1c500b3341..69eeaed58d 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -64,6 +64,7 @@ (define-public libpng (package (name "libpng") + (replacement libpng/fixed) (version "1.6.25") (source (origin (method url-fetch) @@ -88,6 +89,14 @@ library. It supports almost all PNG features and is extensible.") (license license:zlib) (home-page "http://www.libpng.org/pub/png/libpng.html"))) +(define libpng/fixed + (package + (inherit libpng) + (source + (origin + (inherit (package-source libpng)) + (patches (search-patches "libpng-fix-null-ptr-dereference.patch")))))) + (define-public libpng-1.2 (package (inherit libpng) diff --git a/gnu/packages/patches/libpng-fix-null-ptr-dereference.patch b/gnu/packages/patches/libpng-fix-null-ptr-dereference.patch new file mode 100644 index 0000000000..192459162b --- /dev/null +++ b/gnu/packages/patches/libpng-fix-null-ptr-dereference.patch @@ -0,0 +1,36 @@ +Fix a null pointer dereference in png_set_text_2(): + +http://seclists.org/oss-sec/2016/q4/777 + +Patch adapted from upstream source repository: + +https://sourceforge.net/p/libpng/code/ci/812768d7a9c973452222d454634496b25ed415eb/ + +From 812768d7a9c973452222d454634496b25ed415eb Mon Sep 17 00:00:00 2001 +From: Glenn Randers-Pehrson <glennrp at users.sourceforge.net> +Date: Thu, 29 Dec 2016 07:51:33 -0600 +Subject: [PATCH] [libpng16] Fixed a potential null pointer dereference in + png_set_text_2() + +(bug report and patch by Patrick Keshishian). +--- + ANNOUNCE | 2 ++ + CHANGES | 2 ++ + png.c | 1 + + 3 files changed, 5 insertions(+) + +diff --git a/png.c b/png.c +index 8afc28fc2..2e05de159 100644 +--- a/png.c ++++ b/png.c +@@ -477,6 +477,7 @@ png_free_data(png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 mask, + png_free(png_ptr, info_ptr->text); + info_ptr->text = NULL; + info_ptr->num_text = 0; ++ info_ptr->max_text = 0; + } + } + #endif +-- +2.11.0 + |