author | Rich Burridge <rich.burridge@oracle.com> |
Thu, 02 Feb 2017 15:16:38 -0800 | |
changeset 7638 | b2986f4bf55a |
permissions | -rw-r--r-- |
7638
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
1 |
Fix for CVE-2016-10196 |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
2 |
|
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
3 |
More details at: |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
4 |
|
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
5 |
https://github.com/libevent/libevent/issues/318 |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
6 |
|
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
7 |
Based on commit at: |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
8 |
|
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
9 |
https://github.com/libevent/libevent/commit/329acc18a0768c21ba22522f01a5c7f46cacc4d5 |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
10 |
|
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
11 |
--- libevent-2.0.22/evutil.c.orig 2017-02-02 07:20:55.460219824 +0000 |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
12 |
+++ libevent-2.0.22/evutil.c 2017-02-02 07:25:18.285916416 +0000 |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
13 |
@@ -1808,12 +1808,12 @@ |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
14 |
|
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
15 |
cp = strchr(ip_as_string, ':'); |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
16 |
if (*ip_as_string == '[') { |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
17 |
- int len; |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
18 |
+ size_t len; |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
19 |
if (!(cp = strchr(ip_as_string, ']'))) { |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
20 |
return -1; |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
21 |
} |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
22 |
- len = (int) ( cp-(ip_as_string + 1) ); |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
23 |
- if (len > (int)sizeof(buf)-1) { |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
24 |
+ len = ( cp-(ip_as_string + 1) ); |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
25 |
+ if (len > sizeof(buf)-1) { |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
26 |
return -1; |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
27 |
} |
b2986f4bf55a
25489439 problem in LIBRARY/LIBEVENT
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
28 |
memcpy(buf, ip_as_string+1, len); |