diff options
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.patch | 44 |
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); + } + } + |