diff options
author | Henrik Riomar <henrik.riomar@gmail.com> | 2017-02-25 13:08:30 +0100 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2017-02-26 19:18:28 +0000 |
commit | e9a92d060e2e59ac087373af9b81546c2a761d07 (patch) | |
tree | dddecea23c84824d9a2adc8480d8abf1888d48cd /community/shadow/302-CVE-2016-6252-fix-integer-overflow.patch | |
parent | b90f85ec447b8adff5c6076c1a2f4de9aa8b823b (diff) | |
download | aports-e9a92d060e2e59ac087373af9b81546c2a761d07.tar.bz2 aports-e9a92d060e2e59ac087373af9b81546c2a761d07.tar.xz |
community/shadow: CVE-2016-6252 & CVE-2017-2616
Patches from Debian Jessie (1:4.2-3+deb8u3 & 1:4.2-3+deb8u2)
Diffstat (limited to 'community/shadow/302-CVE-2016-6252-fix-integer-overflow.patch')
-rw-r--r-- | community/shadow/302-CVE-2016-6252-fix-integer-overflow.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/community/shadow/302-CVE-2016-6252-fix-integer-overflow.patch b/community/shadow/302-CVE-2016-6252-fix-integer-overflow.patch new file mode 100644 index 0000000000..2f2195b401 --- /dev/null +++ b/community/shadow/302-CVE-2016-6252-fix-integer-overflow.patch @@ -0,0 +1,46 @@ +From 1d5a926cc2d6078d23a96222b1ef3e558724dad1 Mon Sep 17 00:00:00 2001 +From: Sebastian Krahmer <krahmer@suse.com> +Date: Wed, 3 Aug 2016 11:51:07 -0500 +Subject: [PATCH] Simplify getulong + +Use strtoul to read an unsigned long, rather than reading +a signed long long and casting it. + +https://bugzilla.suse.com/show_bug.cgi?id=979282 +--- + lib/getulong.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/lib/getulong.c b/lib/getulong.c +index 61579ca..08d2c1a 100644 +--- a/lib/getulong.c ++++ b/lib/getulong.c +@@ -44,22 +44,19 @@ + */ + int getulong (const char *numstr, /*@out@*/unsigned long int *result) + { +- long long int val; ++ unsigned long int val; + char *endptr; + + errno = 0; +- val = strtoll (numstr, &endptr, 0); ++ val = strtoul (numstr, &endptr, 0); + if ( ('\0' == *numstr) + || ('\0' != *endptr) + || (ERANGE == errno) +- /*@+ignoresigns@*/ +- || (val != (unsigned long int)val) +- /*@=ignoresigns@*/ + ) { + return 0; + } + +- *result = (unsigned long int)val; ++ *result = val; + return 1; + } + +-- +2.1.4 + |