X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcurl.c;h=8b30fa4b0cf668cfb8e83bad92deb617460747ca;hb=c0f5748983a962f7be82bf49ac6c28a59d4658ff;hp=ac55953c1c327bce3b34bb1a568cfeedf90174a0;hpb=51612a1b2f96f6e360f874f6da0b20eac94f48b3;p=collectd.git diff --git a/src/curl.c b/src/curl.c index ac55953c..8b30fa4b 100644 --- a/src/curl.c +++ b/src/curl.c @@ -165,16 +165,19 @@ static void cc_web_page_free (web_page_t *wp) /* {{{ */ static int cc_config_append_string (const char *name, struct curl_slist **dest, /* {{{ */ oconfig_item_t *ci) { + struct curl_slist *temp = NULL; if ((ci->values_num != 1) || (ci->values[0].type != OCONFIG_TYPE_STRING)) { WARNING ("curl plugin: `%s' needs exactly one string argument.", name); return (-1); } - *dest = curl_slist_append(*dest, ci->values[0].value.string); - if (*dest == NULL) + temp = curl_slist_append(*dest, ci->values[0].value.string); + if (temp == NULL) return (-1); + *dest = temp; + return (0); } /* }}} int cc_config_append_string */ @@ -325,7 +328,10 @@ static int cc_config_add_match (web_page_t *page, /* {{{ */ } /* while (status == 0) */ if (status != 0) + { + cc_web_match_free (match); return (status); + } match->match = match_create_simple (match->regex, match->exclude_regex, match->dstype);