Skip to content

Commit

Permalink
app-admin/collectd: Rev bump to fix a memory leak in bind plugin
Browse files Browse the repository at this point in the history
See collectd/collectd#2303

Package-Manager: Portage-2.3.5, Repoman-2.3.2
  • Loading branch information
Whissi committed Jun 1, 2017
1 parent 98de0b3 commit d7dcb46
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
Expand Up @@ -153,6 +153,7 @@ REQUIRED_USE="
PATCHES=(
"${FILESDIR}"/${PN}-5.6.0-gentoo.patch
"${FILESDIR}"/${PN}-5.6.2-CVE-2017-7401.patch
"${FILESDIR}"/${PN}-5.6.2-issue2303.patch
)

# @FUNCTION: collectd_plugin_kernel_linux
Expand Down
44 changes: 44 additions & 0 deletions app-admin/collectd/files/collectd-5.6.2-issue2303.patch
@@ -0,0 +1,44 @@
From fd01cdd0546ccbbda7f4cf5db2d0ae28e1e770cd Mon Sep 17 00:00:00 2001
From: Ruben Kerkhof <ruben@rubenkerkhof.com>
Date: Tue, 30 May 2017 17:25:17 +0200
Subject: [PATCH] Bind plugin: plug a few leaks

Fixes: #2303
---
src/bind.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/bind.c b/src/bind.c
index 4860f1b604..853b9c26a3 100644
--- a/src/bind.c
+++ b/src/bind.c
@@ -526,8 +526,10 @@ static int bind_parse_generic_name_value(const char *xpath_expression, /* {{{ */
status = bind_xml_read_gauge(doc, counter, &value.gauge);
else
status = bind_xml_read_derive(doc, counter, &value.derive);
- if (status != 0)
+ if (status != 0) {
+ xmlFree(name);
continue;
+ }

status = (*list_callback)(name, value, current_time, user_data);
if (status == 0)
@@ -659,12 +661,16 @@ static int bind_parse_generic_name_attr_value_list(
status = bind_xml_read_gauge(doc, child, &value.gauge);
else
status = bind_xml_read_derive(doc, child, &value.derive);
- if (status != 0)
+ if (status != 0) {
+ xmlFree(attr_name);
continue;
+ }

status = (*list_callback)(attr_name, value, current_time, user_data);
if (status == 0)
num_entries++;
+
+ xmlFree(attr_name);
}
}

0 comments on commit d7dcb46

Please sign in to comment.