X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Famqp1.c;h=4325f0016d0c2e01c538075ceaf13fb95e1233a5;hp=601f0ae0c075aa3ac7c54c76c2b440d9dc817a80;hb=f22e31f058941a4d3f72a98d4d24264c07afd080;hpb=a1bba58ed83a67ba47e7c88dca6a939ce3181a9d diff --git a/src/amqp1.c b/src/amqp1.c index 601f0ae0..4325f001 100644 --- a/src/amqp1.c +++ b/src/amqp1.c @@ -572,8 +572,10 @@ static int amqp1_config_instance(oconfig_item_t *ci) /* {{{ */ else if (strcasecmp("Format", child->key) == 0) { char *key = NULL; status = cf_util_get_string(child, &key); - if (status != 0) + if (status != 0) { + amqp1_config_instance_free(instance); return status; + } assert(key != NULL); if (strcasecmp(key, "Command") == 0) { instance->format = AMQP1_FORMAT_COMMAND; @@ -627,26 +629,30 @@ static int amqp1_config_instance(oconfig_item_t *ci) /* {{{ */ status = ssnprintf(tpname, sizeof(tpname), "amqp1/%s", instance->name); if ((status < 0) || (size_t)status >= sizeof(tpname)) { ERROR("amqp1 plugin: Instance name would have been truncated."); + amqp1_config_instance_free(instance); return -1; } status = ssnprintf(instance->send_to, sizeof(instance->send_to), "/%s/%s", transport->address, instance->name); if ((status < 0) || (size_t)status >= sizeof(instance->send_to)) { ERROR("amqp1 plugin: send_to address would have been truncated."); + amqp1_config_instance_free(instance); return -1; } if (instance->notify) { status = plugin_register_notification( tpname, amqp1_notify, &(user_data_t){ - .data = instance, .free_func = amqp1_config_instance_free, + .data = instance, + .free_func = amqp1_config_instance_free, }); } else { - status = plugin_register_write( - tpname, amqp1_write, - &(user_data_t){ - .data = instance, .free_func = amqp1_config_instance_free, - }); + status = + plugin_register_write(tpname, amqp1_write, + &(user_data_t){ + .data = instance, + .free_func = amqp1_config_instance_free, + }); } if (status != 0) {