* gnu/packages/backup.scm (libarchive)[replacement]: New field. (libarchive-3.3.2): New variable. * gnu/packages/patches/libarchive-CVE-2017-14166.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Fix CVE-2017-14166:
 | |
| 
 | |
| https://github.com/libarchive/libarchive/issues/935
 | |
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14166
 | |
| 
 | |
| Patch copied from upstream source repository:
 | |
| 
 | |
| https://github.com/libarchive/libarchive/commit/fa7438a0ff4033e4741c807394a9af6207940d71
 | |
| 
 | |
| From fa7438a0ff4033e4741c807394a9af6207940d71 Mon Sep 17 00:00:00 2001
 | |
| From: Joerg Sonnenberger <joerg@bec.de>
 | |
| Date: Tue, 5 Sep 2017 18:12:19 +0200
 | |
| Subject: [PATCH] Do something sensible for empty strings to make fuzzers
 | |
|  happy.
 | |
| 
 | |
| ---
 | |
|  libarchive/archive_read_support_format_xar.c | 8 +++++++-
 | |
|  1 file changed, 7 insertions(+), 1 deletion(-)
 | |
| 
 | |
| diff --git a/libarchive/archive_read_support_format_xar.c b/libarchive/archive_read_support_format_xar.c
 | |
| index 7a22beb9d..93eeacc5e 100644
 | |
| --- a/libarchive/archive_read_support_format_xar.c
 | |
| +++ b/libarchive/archive_read_support_format_xar.c
 | |
| @@ -1040,6 +1040,9 @@ atol10(const char *p, size_t char_cnt)
 | |
|  	uint64_t l;
 | |
|  	int digit;
 | |
|  
 | |
| +	if (char_cnt == 0)
 | |
| +		return (0);
 | |
| +
 | |
|  	l = 0;
 | |
|  	digit = *p - '0';
 | |
|  	while (digit >= 0 && digit < 10  && char_cnt-- > 0) {
 | |
| @@ -1054,7 +1057,10 @@ atol8(const char *p, size_t char_cnt)
 | |
|  {
 | |
|  	int64_t l;
 | |
|  	int digit;
 | |
| -        
 | |
| +
 | |
| +	if (char_cnt == 0)
 | |
| +		return (0);
 | |
| +
 | |
|  	l = 0;
 | |
|  	while (char_cnt-- > 0) {
 | |
|  		if (*p >= '0' && *p <= '7')
 |