From a2c425d3a1669c6baf06ba27ce2008122fb0ed16 Mon Sep 17 00:00:00 2001 From: Ruben Kerkhof Date: Sat, 5 Dec 2015 14:03:58 +0100 Subject: [PATCH] curl_xml plugin: plug a few leaks on error CID #37993 Signed-off-by: Florian Forster --- src/curl_xml.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/curl_xml.c b/src/curl_xml.c index 3b153964..f0a1319f 100644 --- a/src/curl_xml.c +++ b/src/curl_xml.c @@ -696,7 +696,7 @@ static int cx_config_add_values (const char *name, cx_xpath_t *xpath, /* {{{ */ sstrncpy (xpath->values[i].path, ci->values[i].value.string, sizeof (xpath->values[i].path)); } - return (0); + return (0); } /* }}} cx_config_add_values */ static int cx_config_add_xpath (cx_t *db, /* {{{ */ @@ -726,6 +726,7 @@ static int cx_config_add_xpath (cx_t *db, /* {{{ */ { ERROR ("curl_xml plugin: invalid xpath. " "xpath value can't be an empty string"); + sfree (xpath); return (-1); } @@ -769,6 +770,8 @@ static int cx_config_add_xpath (cx_t *db, /* {{{ */ if (db->list == NULL) { ERROR ("curl_xml plugin: list creation failed."); + sfree (xpath->path); + sfree (xpath); return (-1); } } @@ -777,6 +780,8 @@ static int cx_config_add_xpath (cx_t *db, /* {{{ */ if (name == NULL) { ERROR ("curl_xml plugin: strdup failed."); + sfree (xpath->path); + sfree (xpath); return (-1); } @@ -784,6 +789,8 @@ static int cx_config_add_xpath (cx_t *db, /* {{{ */ if (le == NULL) { ERROR ("curl_xml plugin: llentry_create failed."); + sfree (xpath->path); + sfree (xpath); return (-1); } -- 2.30.2