X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fwrite_http.c;h=4a5818c76bc13f824cb8270b169bcedf75cbc27b;hb=9c962b99a3acd77f1d6e2499052b47356819511a;hp=95132cf92f7bcd8d541bd53aa38a34b72de28c9a;hpb=88001af68cb86d0d95fa143b031359b10eddbe1f;p=collectd.git diff --git a/src/write_http.c b/src/write_http.c index 95132cf9..4a5818c7 100644 --- a/src/write_http.c +++ b/src/write_http.c @@ -362,7 +362,11 @@ static int wh_write_command (const data_set_t *ds, const value_list_t *vl, /* {{ int status; - if (0 != strcmp (ds->type, vl->type)) { + /* sanity checks, primarily to make static analyzers happy. */ + if ((cb == NULL) || (cb->send_buffer == NULL)) + return -1; + + if (strcmp (ds->type, vl->type) == 0) { ERROR ("write_http plugin: DS type does not match " "value list type"); return -1; @@ -813,13 +817,10 @@ static int wh_config_node (oconfig_item_t *ci) /* {{{ */ callback_name, cb->location); user_data_t user_data = { - .data = cb + .data = cb, + .free_func = wh_callback_free, }; - plugin_register_flush (callback_name, wh_flush, &user_data); - - user_data.free_func = wh_callback_free; - if (cb->send_metrics) { plugin_register_write (callback_name, wh_write, &user_data);