summaryrefslogtreecommitdiff
path: root/app-admin/collectd/files/collectd-5.6.2-issue2303.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/collectd/files/collectd-5.6.2-issue2303.patch')
-rw-r--r--app-admin/collectd/files/collectd-5.6.2-issue2303.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/app-admin/collectd/files/collectd-5.6.2-issue2303.patch b/app-admin/collectd/files/collectd-5.6.2-issue2303.patch
new file mode 100644
index 000000000000..0fffcd6b9224
--- /dev/null
+++ b/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);
+ }
+ }
+