X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcurl.c;h=470f25db9094e5ebd2743a49fc72ca9dbfedfcd1;hb=0ba2f3a1a1db4ed7ce6f990b22b9605e19fc7ab9;hp=b750f80bfa82ddddfe74bf967a890cac1e87bc57;hpb=f5adf265a374e5e0dba89a4a9903e7719dc57039;p=collectd.git diff --git a/src/curl.c b/src/curl.c index b750f80b..470f25db 100644 --- a/src/curl.c +++ b/src/curl.c @@ -167,16 +167,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 */ @@ -327,7 +330,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);