gnu: ghostscript: Add fix for CVE-2015-3228.
* gnu/packages/patches/ghostscript-CVE-2015-3228.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/ghostscript.scm (ghostscript)[source]: Add patch.
This commit is contained in:
		
							parent
							
								
									6d7a0eeded
								
							
						
					
					
						commit
						35a12b4719
					
				
					 3 changed files with 36 additions and 2 deletions
				
			
		|  | @ -444,6 +444,7 @@ dist_patch_DATA =						\ | ||||||
|   gnu/packages/patches/gcc-libvtv-runpath.patch			\ |   gnu/packages/patches/gcc-libvtv-runpath.patch			\ | ||||||
|   gnu/packages/patches/gcc-5.0-libvtv-runpath.patch		\ |   gnu/packages/patches/gcc-5.0-libvtv-runpath.patch		\ | ||||||
|   gnu/packages/patches/geoclue-config.patch			\ |   gnu/packages/patches/geoclue-config.patch			\ | ||||||
|  |   gnu/packages/patches/ghostscript-CVE-2015-3228.patch		\ | ||||||
|   gnu/packages/patches/ghostscript-runpath.patch		\ |   gnu/packages/patches/ghostscript-runpath.patch		\ | ||||||
|   gnu/packages/patches/gitolite-openssh-6.8-compat.patch	\ |   gnu/packages/patches/gitolite-openssh-6.8-compat.patch	\ | ||||||
|   gnu/packages/patches/glib-tests-desktop.patch			\ |   gnu/packages/patches/glib-tests-desktop.patch			\ | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> | ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> | ||||||
| ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> | ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> | ||||||
| ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> | ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> | ||||||
| ;;; | ;;; | ||||||
|  | @ -129,7 +129,8 @@ printing, and psresize, for adjusting page sizes.") | ||||||
|             (sha256 |             (sha256 | ||||||
|              (base32 |              (base32 | ||||||
|               "0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1")) |               "0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1")) | ||||||
|             (patches (list (search-patch "ghostscript-runpath.patch"))) |             (patches (map search-patch '("ghostscript-CVE-2015-3228.patch" | ||||||
|  |                                          "ghostscript-runpath.patch"))) | ||||||
|             (modules '((guix build utils))) |             (modules '((guix build utils))) | ||||||
|             (snippet |             (snippet | ||||||
|              ;; Honor --docdir. |              ;; Honor --docdir. | ||||||
|  |  | ||||||
							
								
								
									
										32
									
								
								gnu/packages/patches/ghostscript-CVE-2015-3228.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								gnu/packages/patches/ghostscript-CVE-2015-3228.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,32 @@ | ||||||
|  | The file names in the upstream patch below were modified to apply to GNU | ||||||
|  | ghostscript. | ||||||
|  | 
 | ||||||
|  | From 0c0b0859ae1aba64861599f0e7f74f143f305932 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Chris Liddell <chris.liddell@artifex.com> | ||||||
|  | Date: Tue, 7 Jul 2015 16:57:41 +0100 | ||||||
|  | Subject: [PATCH] Bug 696041: sanity check for memory allocation. | ||||||
|  | 
 | ||||||
|  | In gs_heap_alloc_bytes(), add a sanity check to ensure we don't overflow the | ||||||
|  | variable holding the actual number of bytes we allocate. | ||||||
|  | 
 | ||||||
|  | No cluster differences | ||||||
|  | ---
 | ||||||
|  |  gs/base/gsmalloc.c | 2 +- | ||||||
|  |  1 file changed, 1 insertion(+), 1 deletion(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/base/gsmalloc.c b/base/gsmalloc.c
 | ||||||
|  | index 624552d..cad79c2 100644
 | ||||||
|  | --- a/base/gsmalloc.c
 | ||||||
|  | +++ b/base/gsmalloc.c
 | ||||||
|  | @@ -178,7 +178,7 @@ gs_heap_alloc_bytes(gs_memory_t * mem, uint size, client_name_t cname)
 | ||||||
|  |      } else { | ||||||
|  |          uint added = size + sizeof(gs_malloc_block_t); | ||||||
|  |   | ||||||
|  | -        if (mmem->limit - added < mmem->used)
 | ||||||
|  | +        if (added <= size || mmem->limit - added < mmem->used)
 | ||||||
|  |              set_msg("exceeded limit"); | ||||||
|  |          else if ((ptr = (byte *) Memento_label(malloc(added), cname)) == 0) | ||||||
|  |              set_msg("failed"); | ||||||
|  | -- 
 | ||||||
|  | 2.4.6 | ||||||
|  | 
 | ||||||
		Reference in a new issue