guix-play/gnu/packages/patches/libevent-2.0-evutil-fix-buffer-overflow.patch
Marius Bakke e8fc1a0dcf
gnu: libevent: Update to 2.1.8 [security fixes].
* gnu/packages/libevent.scm (libevent): Update to 2.1.8.
[inputs]: Change 'python-wrapper' to 'python-2'. Move 'which' to ...
[native-inputs]: ... here. New field.
(libevent-2.0): New variable.
* gnu/packages/patches/libevent-2.1-dns-tests.patch,
  gnu/packages/patches/libevent-2.0-evdns-fix-remote-stack-overread.patch
  gnu/packages/patches/libevent-2.0-evdns-fix-searching-empty-hostnames.patch
  gnu/packages/patches/libevent-2.0-evutil-fix-buffer-overflow.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (icecat)[inputs]: Change 'libevent' to 'libevent-2.0'.
2017-02-01 02:42:12 +01:00

43 lines
1.1 KiB
Diff

Fix buffer overflow in evutil.
Upstream bug report:
https://github.com/libevent/libevent/issues/318
Patch copied from upstream source repository:
https://github.com/libevent/libevent/commit/329acc18a0768c21ba22522f01a5c7f46cacc4d5
From 28bdc2f3f62259d21ccaf7be2b60ef0a53e6f342 Mon Sep 17 00:00:00 2001
From: Azat Khuzhin <a3at.mail@gmail.com>
Date: Sun, 31 Jan 2016 00:57:16 +0300
Subject: [PATCH] evutil_parse_sockaddr_port(): fix buffer overflow
---
evutil.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/evutil.c b/evutil.c
index 33445170..e2dfe6e4 100644
--- a/evutil.c
+++ b/evutil.c
@@ -1808,12 +1808,12 @@ evutil_parse_sockaddr_port(const char *ip_as_string, struct sockaddr *out, int *
cp = strchr(ip_as_string, ':');
if (*ip_as_string == '[') {
- int len;
+ size_t len;
if (!(cp = strchr(ip_as_string, ']'))) {
return -1;
}
- len = (int) ( cp-(ip_as_string + 1) );
- if (len > (int)sizeof(buf)-1) {
+ len = ( cp-(ip_as_string + 1) );
+ if (len > sizeof(buf)-1) {
return -1;
}
memcpy(buf, ip_as_string+1, len);
--
2.11.0