X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fdaemon%2Fplugin.c;h=88a2af4fc2d6e9b1e3669f3a9fa26f6aa98b6beb;hb=5b0b730b82c8e0d131beca90dac2b3aeafb66403;hp=299a98096aacea948c5dde2f5de0b775e21ceb04;hpb=9b5c37f608e60c14b756f020659572b61eb6c293;p=collectd.git diff --git a/src/daemon/plugin.c b/src/daemon/plugin.c index 299a9809..88a2af4f 100644 --- a/src/daemon/plugin.c +++ b/src/daemon/plugin.c @@ -1367,7 +1367,6 @@ int plugin_register_flush (const char *name, { ERROR ("plugin_register_flush: malloc failed."); sfree(flush_name); - plugin_unregister (list_flush, name); return (-1); } @@ -1377,7 +1376,6 @@ int plugin_register_flush (const char *name, ERROR ("plugin_register_flush: strdup failed."); sfree(cb); sfree(flush_name); - plugin_unregister (list_flush, name); return (-1); } cb->timeout = ctx.flush_timeout; @@ -1397,7 +1395,6 @@ int plugin_register_flush (const char *name, { sfree(cb->name); sfree(cb); - plugin_unregister (list_flush, name); return status; } } @@ -1624,15 +1621,15 @@ int plugin_unregister_flush (const char *name) plugin_ctx_t ctx = plugin_get_ctx (); if (ctx.flush_interval != 0) - { + { char *flush_name; flush_name = plugin_flush_callback_name (name); - if (flush_name == NULL) - return (-1); - - plugin_unregister_read(flush_name); - sfree(flush_name); + if (flush_name != NULL) + { + plugin_unregister_read(flush_name); + sfree(flush_name); + } } return plugin_unregister (list_flush, name);