From: Zebity Spring Date: Fri, 12 Jul 2019 08:09:56 +0000 (+1000) Subject: Merge remote-tracking branch 'upstream/master' X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=a03a24fe9c268251326d46e7224b4277e47a3603;hp=d1171e579717246e2ebdbed4cde007b482a24052;p=collectd.git Merge remote-tracking branch 'upstream/master' --- diff --git a/src/aggregation.c b/src/aggregation.c index 089ff1da..2c8ef880 100644 --- a/src/aggregation.c +++ b/src/aggregation.c @@ -198,15 +198,17 @@ static int agg_instance_create_name(agg_instance_t *inst, /* {{{ */ sstrncpy(inst->ident.plugin_instance, AGG_FUNC_PLACEHOLDER, sizeof(inst->ident.plugin_instance)); else if (strcmp("", tmp_plugin) != 0) - snprintf(inst->ident.plugin_instance, sizeof(inst->ident.plugin_instance), - "%s-%s", tmp_plugin, AGG_FUNC_PLACEHOLDER); + ssnprintf(inst->ident.plugin_instance, + sizeof(inst->ident.plugin_instance), "%s-%s", tmp_plugin, + AGG_FUNC_PLACEHOLDER); else if (strcmp("", tmp_plugin_instance) != 0) - snprintf(inst->ident.plugin_instance, sizeof(inst->ident.plugin_instance), - "%s-%s", tmp_plugin_instance, AGG_FUNC_PLACEHOLDER); + ssnprintf(inst->ident.plugin_instance, + sizeof(inst->ident.plugin_instance), "%s-%s", + tmp_plugin_instance, AGG_FUNC_PLACEHOLDER); else - snprintf(inst->ident.plugin_instance, sizeof(inst->ident.plugin_instance), - "%s-%s-%s", tmp_plugin, tmp_plugin_instance, - AGG_FUNC_PLACEHOLDER); + ssnprintf(inst->ident.plugin_instance, + sizeof(inst->ident.plugin_instance), "%s-%s-%s", tmp_plugin, + tmp_plugin_instance, AGG_FUNC_PLACEHOLDER); } /* Type */ @@ -396,10 +398,9 @@ static int agg_instance_read(agg_instance_t *inst, cdtime_t t) /* {{{ */ READ_FUNC(average, (inst->sum / ((gauge_t)inst->num))); READ_FUNC(min, inst->min); READ_FUNC(max, inst->max); - READ_FUNC(stddev, - sqrt((((gauge_t)inst->num) * inst->squares_sum) - - (inst->sum * inst->sum)) / - ((gauge_t)inst->num)); + READ_FUNC(stddev, sqrt((((gauge_t)inst->num) * inst->squares_sum) - + (inst->sum * inst->sum)) / + ((gauge_t)inst->num)); } /* Reset internal state. */ diff --git a/src/amqp.c b/src/amqp.c index 9eb51653..2077d57b 100644 --- a/src/amqp.c +++ b/src/amqp.c @@ -217,23 +217,23 @@ static char *camqp_strerror(camqp_config_t *conf, /* {{{ */ if (r.reply.id == AMQP_CONNECTION_CLOSE_METHOD) { amqp_connection_close_t *m = r.reply.decoded; char *tmp = camqp_bytes_cstring(&m->reply_text); - snprintf(buffer, buffer_size, "Server connection error %d: %s", - m->reply_code, tmp); + ssnprintf(buffer, buffer_size, "Server connection error %d: %s", + m->reply_code, tmp); sfree(tmp); } else if (r.reply.id == AMQP_CHANNEL_CLOSE_METHOD) { amqp_channel_close_t *m = r.reply.decoded; char *tmp = camqp_bytes_cstring(&m->reply_text); - snprintf(buffer, buffer_size, "Server channel error %d: %s", - m->reply_code, tmp); + ssnprintf(buffer, buffer_size, "Server channel error %d: %s", + m->reply_code, tmp); sfree(tmp); } else { - snprintf(buffer, buffer_size, "Server error method %#" PRIx32, - r.reply.id); + ssnprintf(buffer, buffer_size, "Server error method %#" PRIx32, + r.reply.id); } break; default: - snprintf(buffer, buffer_size, "Unknown reply type %i", (int)r.reply_type); + ssnprintf(buffer, buffer_size, "Unknown reply type %i", (int)r.reply_type); } return buffer; @@ -320,16 +320,17 @@ static int camqp_setup_queue(camqp_config_t *conf) /* {{{ */ amqp_queue_declare_ok_t *qd_ret; amqp_basic_consume_ok_t *cm_ret; - qd_ret = amqp_queue_declare(conf->connection, - /* channel = */ CAMQP_CHANNEL, - /* queue = */ (conf->queue != NULL) - ? amqp_cstring_bytes(conf->queue) - : AMQP_EMPTY_BYTES, - /* passive = */ 0, - /* durable = */ conf->queue_durable, - /* exclusive = */ 0, - /* auto_delete = */ conf->queue_auto_delete, - /* arguments = */ AMQP_EMPTY_TABLE); + qd_ret = + amqp_queue_declare(conf->connection, + /* channel = */ CAMQP_CHANNEL, + /* queue = */ + (conf->queue != NULL) ? amqp_cstring_bytes(conf->queue) + : AMQP_EMPTY_BYTES, + /* passive = */ 0, + /* durable = */ conf->queue_durable, + /* exclusive = */ 0, + /* auto_delete = */ conf->queue_auto_delete, + /* arguments = */ AMQP_EMPTY_TABLE); if (qd_ret == NULL) { ERROR("amqp plugin: amqp_queue_declare failed."); camqp_close_connection(conf); @@ -353,15 +354,15 @@ static int camqp_setup_queue(camqp_config_t *conf) /* {{{ */ amqp_queue_bind_ok_t *qb_ret; assert(conf->queue != NULL); - qb_ret = - amqp_queue_bind(conf->connection, - /* channel = */ CAMQP_CHANNEL, - /* queue = */ amqp_cstring_bytes(conf->queue), - /* exchange = */ amqp_cstring_bytes(conf->exchange), - /* routing_key = */ (conf->routing_key != NULL) - ? amqp_cstring_bytes(conf->routing_key) - : AMQP_EMPTY_BYTES, - /* arguments = */ AMQP_EMPTY_TABLE); + qb_ret = amqp_queue_bind( + conf->connection, + /* channel = */ CAMQP_CHANNEL, + /* queue = */ amqp_cstring_bytes(conf->queue), + /* exchange = */ amqp_cstring_bytes(conf->exchange), + /* routing_key = */ + (conf->routing_key != NULL) ? amqp_cstring_bytes(conf->routing_key) + : AMQP_EMPTY_BYTES, + /* arguments = */ AMQP_EMPTY_TABLE); if ((qb_ret == NULL) && camqp_is_error(conf)) { char errbuf[1024]; ERROR("amqp plugin: amqp_queue_bind failed: %s", @@ -428,7 +429,7 @@ static int camqp_connect(camqp_config_t *conf) /* {{{ */ #ifdef HAVE_AMQP_TCP_SOCKET #define CLOSE_SOCKET() /* amqp_destroy_connection() closes the socket for us \ - */ + */ /* TODO: add support for SSL using amqp_ssl_socket_new * and related functions */ socket = amqp_tcp_socket_new(conf->connection); @@ -748,9 +749,9 @@ static int camqp_write(const data_set_t *ds, const value_list_t *vl, /* {{{ */ if (conf->routing_key != NULL) { sstrncpy(routing_key, conf->routing_key, sizeof(routing_key)); } else { - snprintf(routing_key, sizeof(routing_key), "collectd/%s/%s/%s/%s/%s", - vl->host, vl->plugin, vl->plugin_instance, vl->type, - vl->type_instance); + ssnprintf(routing_key, sizeof(routing_key), "collectd/%s/%s/%s/%s/%s", + vl->host, vl->plugin, vl->plugin_instance, vl->type, + vl->type_instance); /* Switch slashes (the only character forbidden by collectd) and dots * (the separation character used by AMQP). */ @@ -970,13 +971,13 @@ static int camqp_config_connection(oconfig_item_t *ci, /* {{{ */ if (publish) { char cbname[128]; - snprintf(cbname, sizeof(cbname), "amqp/%s", conf->name); + ssnprintf(cbname, sizeof(cbname), "amqp/%s", conf->name); - status = - plugin_register_write(cbname, camqp_write, - &(user_data_t){ - .data = conf, .free_func = camqp_config_free, - }); + status = plugin_register_write(cbname, camqp_write, + &(user_data_t){ + .data = conf, + .free_func = camqp_config_free, + }); if (status != 0) { camqp_config_free(conf); return status; diff --git a/src/amqp1.c b/src/amqp1.c index a7fd26be..67c96b75 100644 --- a/src/amqp1.c +++ b/src/amqp1.c @@ -624,13 +624,13 @@ static int amqp1_config_instance(oconfig_item_t *ci) /* {{{ */ return status; } else { char tpname[DATA_MAX_NAME_LEN]; - status = snprintf(tpname, sizeof(tpname), "amqp1/%s", instance->name); + 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."); return -1; } - status = snprintf(instance->send_to, sizeof(instance->send_to), "/%s/%s", - transport->address, instance->name); + 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."); return -1; @@ -639,14 +639,16 @@ static int amqp1_config_instance(oconfig_item_t *ci) /* {{{ */ 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) { diff --git a/src/aquaero.c b/src/aquaero.c index dfa2804d..61dd76db 100644 --- a/src/aquaero.c +++ b/src/aquaero.c @@ -81,8 +81,8 @@ static void aquaero_submit_array(const char *type, if (value_array[i] == AQ5_FLOAT_UNDEF) continue; - snprintf(type_instance, sizeof(type_instance), "%s%d", type_instance_prefix, - i + 1); + ssnprintf(type_instance, sizeof(type_instance), "%s%d", + type_instance_prefix, i + 1); aquaero_submit(type, type_instance, value_array[i]); } } @@ -130,7 +130,7 @@ static int aquaero_read(void) { (aq_data.fan_vrm_temp[i] != AQ5_FLOAT_UNDEF)) continue; - snprintf(type_instance, sizeof(type_instance), "fan%d", i + 1); + ssnprintf(type_instance, sizeof(type_instance), "fan%d", i + 1); aquaero_submit("fanspeed", type_instance, aq_data.fan_rpm[i]); aquaero_submit("percent", type_instance, aq_data.fan_duty[i]); @@ -139,7 +139,7 @@ static int aquaero_read(void) { /* Report the voltage reglator module (VRM) temperature with a * different type instance. */ - snprintf(type_instance, sizeof(type_instance), "fan%d-vrm", i + 1); + ssnprintf(type_instance, sizeof(type_instance), "fan%d-vrm", i + 1); aquaero_submit("temperature", type_instance, aq_data.fan_vrm_temp[i]); } diff --git a/src/ascent.c b/src/ascent.c index e5589bf6..6240e319 100644 --- a/src/ascent.c +++ b/src/ascent.c @@ -499,8 +499,8 @@ static int ascent_init(void) /* {{{ */ static char credentials[1024]; int status; - status = snprintf(credentials, sizeof(credentials), "%s:%s", user, - (pass == NULL) ? "" : pass); + status = ssnprintf(credentials, sizeof(credentials), "%s:%s", user, + (pass == NULL) ? "" : pass); if ((status < 0) || ((size_t)status >= sizeof(credentials))) { ERROR("ascent plugin: ascent_init: Returning an error because the " "credentials have been truncated."); diff --git a/src/ceph.c b/src/ceph.c index 19a09d86..8048f5dd 100644 --- a/src/ceph.c +++ b/src/ceph.c @@ -990,7 +990,7 @@ static int cconn_connect(struct cconn *io) { return err; } address.sun_family = AF_UNIX; - snprintf(address.sun_path, sizeof(address.sun_path), "%s", io->d->asok_path); + ssnprintf(address.sun_path, sizeof(address.sun_path), "%s", io->d->asok_path); RETRY_ON_EINTR(err, connect(fd, (struct sockaddr *)&address, sizeof(struct sockaddr_un))); if (err < 0) { @@ -1153,8 +1153,8 @@ static ssize_t cconn_handle_event(struct cconn *io) { return -EDOM; case CSTATE_WRITE_REQUEST: { char cmd[32]; - snprintf(cmd, sizeof(cmd), "%s%d%s", "{ \"prefix\": \"", io->request_type, - "\" }\n"); + ssnprintf(cmd, sizeof(cmd), "%s%d%s", "{ \"prefix\": \"", io->request_type, + "\" }\n"); size_t cmd_len = strlen(cmd); RETRY_ON_EINTR( ret, write(io->asok, ((char *)&cmd) + io->amt, cmd_len - io->amt)); diff --git a/src/collectdctl.c b/src/collectdctl.c index 54c8081e..1ced5838 100644 --- a/src/collectdctl.c +++ b/src/collectdctl.c @@ -25,6 +25,7 @@ #include "config.h" #endif +#include #include #include #include @@ -80,6 +81,22 @@ extern char *optarg; extern int optind; +/* ssnprintf returns zero on success, one if truncation occurred + and a negative integer onerror. */ +static int _ssnprintf(char *str, size_t sz, const char *format, ...) { + va_list ap; + va_start(ap, format); + + int ret = vsnprintf(str, sz, format, ap); + + va_end(ap); + + if (ret < 0) { + return ret; + } + return (size_t)ret >= sz; +} /* int _ssnprintf */ + __attribute__((noreturn)) static void exit_usage(const char *name, int status) { fprintf( (status == 0) ? stdout : stderr, @@ -166,7 +183,7 @@ static int parse_identifier(lcc_connection_t *c, const char *value, } hostname[sizeof(hostname) - 1] = '\0'; - snprintf(ident_str, sizeof(ident_str), "%s/%s", hostname, value); + _ssnprintf(ident_str, sizeof(ident_str), "%s/%s", hostname, value); ident_str[sizeof(ident_str) - 1] = '\0'; } else { strncpy(ident_str, value, sizeof(ident_str)); @@ -543,7 +560,7 @@ int main(int argc, char **argv) { switch (opt) { case 's': - snprintf(address, sizeof(address), "unix:%s", optarg); + _ssnprintf(address, sizeof(address), "unix:%s", optarg); address[sizeof(address) - 1] = '\0'; break; case 'h': diff --git a/src/daemon/configfile.c b/src/daemon/configfile.c index 5cf8ac1f..1a3c4f45 100644 --- a/src/daemon/configfile.c +++ b/src/daemon/configfile.c @@ -200,7 +200,7 @@ static int dispatch_global_option(const oconfig_item_t *ci) { return global_option_set(ci->key, ci->values[0].value.string, 0); else if (ci->values[0].type == OCONFIG_TYPE_NUMBER) { char tmp[128]; - snprintf(tmp, sizeof(tmp), "%lf", ci->values[0].value.number); + ssnprintf(tmp, sizeof(tmp), "%lf", ci->values[0].value.number); return global_option_set(ci->key, tmp, 0); } else if (ci->values[0].type == OCONFIG_TYPE_BOOLEAN) { if (ci->values[0].value.boolean) @@ -312,13 +312,13 @@ static int dispatch_value_plugin(const char *plugin, oconfig_item_t *ci) { if (ci->values[i].type == OCONFIG_TYPE_STRING) status = - snprintf(buffer_ptr, buffer_free, " %s", ci->values[i].value.string); + ssnprintf(buffer_ptr, buffer_free, " %s", ci->values[i].value.string); else if (ci->values[i].type == OCONFIG_TYPE_NUMBER) - status = - snprintf(buffer_ptr, buffer_free, " %lf", ci->values[i].value.number); + status = ssnprintf(buffer_ptr, buffer_free, " %lf", + ci->values[i].value.number); else if (ci->values[i].type == OCONFIG_TYPE_BOOLEAN) - status = snprintf(buffer_ptr, buffer_free, " %s", - ci->values[i].value.boolean ? "true" : "false"); + status = ssnprintf(buffer_ptr, buffer_free, " %s", + ci->values[i].value.boolean ? "true" : "false"); if ((status < 0) || (status >= buffer_free)) return -1; @@ -670,7 +670,7 @@ static oconfig_item_t *cf_read_dir(const char *dir, const char *pattern, if ((de->d_name[0] == '.') || (de->d_name[0] == 0)) continue; - status = snprintf(name, sizeof(name), "%s/%s", dir, de->d_name); + status = ssnprintf(name, sizeof(name), "%s/%s", dir, de->d_name); if ((status < 0) || ((size_t)status >= sizeof(name))) { ERROR("configfile: Not including `%s/%s' because its" " name is too long.", @@ -1239,7 +1239,7 @@ int cf_util_get_service(const oconfig_item_t *ci, char **ret_string) /* {{{ */ P_ERROR("cf_util_get_service: Out of memory."); return -1; } - snprintf(service, 6, "%i", port); + ssnprintf(service, 6, "%i", port); sfree(*ret_string); *ret_string = service; diff --git a/src/disk.c b/src/disk.c index e73a5c08..3faef9dc 100644 --- a/src/disk.c +++ b/src/disk.c @@ -209,7 +209,7 @@ static int disk_init(void) { io_master_port = MACH_PORT_NULL; return -1; } -/* #endif HAVE_IOKIT_IOKITLIB_H */ + /* #endif HAVE_IOKIT_IOKITLIB_H */ #elif KERNEL_LINUX #if HAVE_LIBUDEV_H @@ -221,7 +221,7 @@ static int disk_init(void) { } } #endif /* HAVE_LIBUDEV_H */ -/* #endif KERNEL_LINUX */ + /* #endif KERNEL_LINUX */ #elif KERNEL_FREEBSD int rv; @@ -236,7 +236,7 @@ static int disk_init(void) { ERROR("geom_stats_open() failed, returned %d", rv); return -1; } -/* #endif KERNEL_FREEBSD */ + /* #endif KERNEL_FREEBSD */ #elif HAVE_LIBKSTAT kstat_t *ksp_chain; @@ -275,7 +275,8 @@ static void disk_submit(const char *plugin_instance, const char *type, derive_t read, derive_t write) { value_list_t vl = VALUE_LIST_INIT; value_t values[] = { - {.derive = read}, {.derive = write}, + {.derive = read}, + {.derive = write}, }; vl.values = values; @@ -292,7 +293,8 @@ static void submit_io_time(char const *plugin_instance, derive_t io_time, derive_t weighted_time) { value_list_t vl = VALUE_LIST_INIT; value_t values[] = { - {.derive = io_time}, {.derive = weighted_time}, + {.derive = io_time}, + {.derive = weighted_time}, }; vl.values = values; @@ -493,10 +495,11 @@ static int disk_read(void) { sstrncpy(disk_name, props_disk_name_bsd, sizeof(disk_name)); else { ERROR("disk plugin: can't find bsd disk name."); - snprintf(disk_name, sizeof(disk_name), "%i-%i", disk_major, disk_minor); + ssnprintf(disk_name, sizeof(disk_name), "%i-%i", disk_major, + disk_minor); } } else - snprintf(disk_name, sizeof(disk_name), "%i-%i", disk_major, disk_minor); + ssnprintf(disk_name, sizeof(disk_name), "%i-%i", disk_major, disk_minor); DEBUG("disk plugin: disk_name = \"%s\"", disk_name); @@ -532,7 +535,7 @@ static int disk_read(void) { disk_submit(disk_name, "disk_time", read_tme / 1000, write_tme / 1000); } IOObjectRelease(disk_list); -/* #endif HAVE_IOKIT_IOKITLIB_H */ + /* #endif HAVE_IOKIT_IOKITLIB_H */ #elif KERNEL_FREEBSD int retry, dirty; @@ -896,7 +899,7 @@ static int disk_read(void) { free(missing_ds); } fclose(fh); -/* #endif defined(KERNEL_LINUX) */ + /* #endif defined(KERNEL_LINUX) */ #elif HAVE_LIBKSTAT #if HAVE_KSTAT_IO_T_WRITES && HAVE_KSTAT_IO_T_NWRITES && HAVE_KSTAT_IO_T_WTIME @@ -944,7 +947,7 @@ static int disk_read(void) { disk_submit(ksp[i]->ks_name, "disk_ops", kio.KIO_ROPS, kio.KIO_WOPS); } } -/* #endif defined(HAVE_LIBKSTAT) */ + /* #endif defined(HAVE_LIBKSTAT) */ #elif defined(HAVE_LIBSTATGRAB) sg_disk_io_stats *ds; @@ -971,7 +974,7 @@ static int disk_read(void) { disk_submit(name, "disk_octets", ds->read_bytes, ds->write_bytes); ds++; } -/* #endif defined(HAVE_LIBSTATGRAB) */ + /* #endif defined(HAVE_LIBSTATGRAB) */ #elif defined(HAVE_PERFSTAT) derive_t read_sectors; diff --git a/src/dpdkevents.c b/src/dpdkevents.c index 4cdf01df..4c8196ae 100644 --- a/src/dpdkevents.c +++ b/src/dpdkevents.c @@ -511,17 +511,17 @@ static int dpdk_events_link_status_dispatch(dpdk_helper_ctx_t *phc) { char dev_name[DATA_MAX_NAME_LEN]; if (ec->config.link_status.port_name[i][0] != 0) { - snprintf(dev_name, sizeof(dev_name), "%s", - ec->config.link_status.port_name[i]); + ssnprintf(dev_name, sizeof(dev_name), "%s", + ec->config.link_status.port_name[i]); } else { - snprintf(dev_name, sizeof(dev_name), "port.%d", i); + ssnprintf(dev_name, sizeof(dev_name), "port.%d", i); } if (ec->config.link_status.notify) { int sev = ec->link_info[i].link_status ? NOTIF_OKAY : NOTIF_WARNING; char msg[DATA_MAX_NAME_LEN]; - snprintf(msg, sizeof(msg), "Link Status: %s", - ec->link_info[i].link_status ? "UP" : "DOWN"); + ssnprintf(msg, sizeof(msg), "Link Status: %s", + ec->link_info[i].link_status ? "UP" : "DOWN"); dpdk_events_notification_dispatch(sev, dev_name, ec->link_info[i].read_time, msg); } else { @@ -557,7 +557,7 @@ static void dpdk_events_keep_alive_dispatch(dpdk_helper_ctx_t *phc) { } char core_name[DATA_MAX_NAME_LEN]; - snprintf(core_name, sizeof(core_name), "lcore%u", i); + ssnprintf(core_name, sizeof(core_name), "lcore%u", i); if (!ec->config.keep_alive.send_updated || (ec->core_info[i].lcore_state != @@ -572,34 +572,34 @@ static void dpdk_events_keep_alive_dispatch(dpdk_helper_ctx_t *phc) { switch (ec->config.keep_alive.shm->core_state[i]) { case RTE_KA_STATE_ALIVE: sev = NOTIF_OKAY; - snprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: ALIVE", i); + ssnprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: ALIVE", i); break; case RTE_KA_STATE_MISSING: - snprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: MISSING", i); + ssnprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: MISSING", i); sev = NOTIF_WARNING; break; case RTE_KA_STATE_DEAD: - snprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: DEAD", i); + ssnprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: DEAD", i); sev = NOTIF_FAILURE; break; case RTE_KA_STATE_UNUSED: - snprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: UNUSED", i); + ssnprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: UNUSED", i); sev = NOTIF_OKAY; break; case RTE_KA_STATE_GONE: - snprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: GONE", i); + ssnprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: GONE", i); sev = NOTIF_FAILURE; break; case RTE_KA_STATE_DOZING: - snprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: DOZING", i); + ssnprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: DOZING", i); sev = NOTIF_OKAY; break; case RTE_KA_STATE_SLEEP: - snprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: SLEEP", i); + ssnprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: SLEEP", i); sev = NOTIF_OKAY; break; default: - snprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: UNKNOWN", i); + ssnprintf(msg, sizeof(msg), "lcore %u Keep Alive Status: UNKNOWN", i); sev = NOTIF_FAILURE; } diff --git a/src/dpdkstat.c b/src/dpdkstat.c index 0005d091..ae93e53b 100644 --- a/src/dpdkstat.c +++ b/src/dpdkstat.c @@ -395,9 +395,9 @@ static int dpdk_stats_counters_dispatch(dpdk_helper_ctx_t *phc) { char dev_name[64]; if (ctx->config.port_name[i][0] != 0) { - snprintf(dev_name, sizeof(dev_name), "%s", ctx->config.port_name[i]); + ssnprintf(dev_name, sizeof(dev_name), "%s", ctx->config.port_name[i]); } else { - snprintf(dev_name, sizeof(dev_name), "port.%d", i); + ssnprintf(dev_name, sizeof(dev_name), "port.%d", i); } DEBUG(" === Dispatch stats for port %d (name=%s; stats_count=%d)", i, diff --git a/src/gmond.c b/src/gmond.c index b14dee3b..03dedcca 100644 --- a/src/gmond.c +++ b/src/gmond.c @@ -397,8 +397,8 @@ static staging_entry_t *staging_entry_get(const char *host, /* {{{ */ if (staging_tree == NULL) return NULL; - snprintf(key, sizeof(key), "%s/%s/%s", host, type, - (type_instance != NULL) ? type_instance : ""); + ssnprintf(key, sizeof(key), "%s/%s/%s", host, type, + (type_instance != NULL) ? type_instance : ""); se = NULL; status = c_avl_get(staging_tree, key, (void *)&se); diff --git a/src/intel_rdt.c b/src/intel_rdt.c index a68620ef..515a601e 100644 --- a/src/intel_rdt.c +++ b/src/intel_rdt.c @@ -105,7 +105,7 @@ static void rdt_submit_derive(const char *cgroup, const char *type, vl.values_len = 1; sstrncpy(vl.plugin, RDT_PLUGIN, sizeof(vl.plugin)); - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s", cgroup); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s", cgroup); sstrncpy(vl.type, type, sizeof(vl.type)); if (type_instance) sstrncpy(vl.type_instance, type_instance, sizeof(vl.type_instance)); @@ -121,7 +121,7 @@ static void rdt_submit_gauge(const char *cgroup, const char *type, vl.values_len = 1; sstrncpy(vl.plugin, RDT_PLUGIN, sizeof(vl.plugin)); - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s", cgroup); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s", cgroup); sstrncpy(vl.type, type, sizeof(vl.type)); if (type_instance) sstrncpy(vl.type_instance, type_instance, sizeof(vl.type_instance)); @@ -144,8 +144,8 @@ static void rdt_dump_cgroups(void) { memset(cores, 0, sizeof(cores)); for (size_t j = 0; j < cgroup->num_cores; j++) { - snprintf(cores + strlen(cores), sizeof(cores) - strlen(cores) - 1, " %d", - cgroup->cores[j]); + ssnprintf(cores + strlen(cores), sizeof(cores) - strlen(cores) - 1, " %d", + cgroup->cores[j]); } DEBUG(RDT_PLUGIN ": group[%zu]:", i); @@ -171,8 +171,8 @@ static void rdt_dump_ngroups(void) { for (size_t i = 0; i < g_rdt->num_ngroups; i++) { memset(names, 0, sizeof(names)); for (size_t j = 0; j < g_rdt->ngroups[i].num_names; j++) - snprintf(names + strlen(names), sizeof(names) - strlen(names) - 1, " %s", - g_rdt->ngroups[i].names[j]); + ssnprintf(names + strlen(names), sizeof(names) - strlen(names) - 1, " %s", + g_rdt->ngroups[i].names[j]); DEBUG(RDT_PLUGIN ": group[%d]:", (int)i); DEBUG(RDT_PLUGIN ": description: %s", g_rdt->ngroups[i].desc); @@ -249,8 +249,8 @@ static void rdt_dump_pids_data(void) { for (size_t j = 0; j < g_rdt->ngroups[i].num_names; ++j) { pids_list_t *list = g_rdt->ngroups[i].proc_pids[j]->curr; for (size_t k = 0; k < list->size; k++) - snprintf(pids + strlen(pids), sizeof(pids) - strlen(pids) - 1, " %u", - list->pids[k]); + ssnprintf(pids + strlen(pids), sizeof(pids) - strlen(pids) - 1, " %u", + list->pids[k]); } DEBUG(RDT_PLUGIN ": [%s] %s", g_rdt->ngroups[i].desc, pids); } @@ -851,9 +851,9 @@ static void rdt_init_pids_monitoring() { } /* update global proc_pids table */ - proc_pids_t **proc_pids = realloc(g_rdt->proc_pids, - (g_rdt->num_proc_pids + ng->num_names) * - sizeof(*g_rdt->proc_pids)); + proc_pids_t **proc_pids = + realloc(g_rdt->proc_pids, (g_rdt->num_proc_pids + ng->num_names) * + sizeof(*g_rdt->proc_pids)); if (NULL == proc_pids) { ERROR(RDT_PLUGIN ": Alloc error\n"); continue; @@ -922,7 +922,7 @@ static int rdt_default_cgroups(void) { cgroup->num_cores = 1; cgroup->cores[0] = i; - snprintf(desc, sizeof(desc), "%d", g_rdt->pqos_cpu->cores[i].lcore); + ssnprintf(desc, sizeof(desc), "%d", g_rdt->pqos_cpu->cores[i].lcore); cgroup->desc = strdup(desc); if (cgroup->desc == NULL) { ERROR(RDT_PLUGIN ": Error allocating core group description"); diff --git a/src/interface.c b/src/interface.c index 0e139708..b0d9eebb 100644 --- a/src/interface.c +++ b/src/interface.c @@ -82,7 +82,9 @@ static int pnif; * (Module-)Global variables */ static const char *config_keys[] = { - "Interface", "IgnoreSelected", "ReportInactive", + "Interface", + "IgnoreSelected", + "ReportInactive", }; static int config_keys_num = STATIC_ARRAY_SIZE(config_keys); @@ -160,7 +162,8 @@ static void if_submit(const char *dev, const char *type, derive_t rx, derive_t tx) { value_list_t vl = VALUE_LIST_INIT; value_t values[] = { - {.derive = rx}, {.derive = tx}, + {.derive = rx}, + {.derive = tx}, }; if (ignorelist_match(ignorelist, dev) != 0) @@ -188,7 +191,7 @@ static int interface_read(void) { #define IFA_TX_PACKT ifi_opackets #define IFA_RX_ERROR ifi_ierrors #define IFA_TX_ERROR ifi_oerrors -/* #endif HAVE_STRUCT_IF_DATA */ + /* #endif HAVE_STRUCT_IF_DATA */ #elif HAVE_STRUCT_NET_DEVICE_STATS #define IFA_DATA net_device_stats @@ -226,7 +229,7 @@ static int interface_read(void) { } freeifaddrs(if_list); -/* #endif HAVE_GETIFADDRS */ + /* #endif HAVE_GETIFADDRS */ #elif KERNEL_LINUX FILE *fh; @@ -282,7 +285,7 @@ static int interface_read(void) { } fclose(fh); -/* #endif KERNEL_LINUX */ + /* #endif KERNEL_LINUX */ #elif HAVE_LIBKSTAT derive_t rx; @@ -297,8 +300,8 @@ static int interface_read(void) { continue; if (unique_name) - snprintf(iname, sizeof(iname), "%s_%d_%s", ksp[i]->ks_module, - ksp[i]->ks_instance, ksp[i]->ks_name); + ssnprintf(iname, sizeof(iname), "%s_%d_%s", ksp[i]->ks_module, + ksp[i]->ks_instance, ksp[i]->ks_name); else sstrncpy(iname, ksp[i]->ks_name, sizeof(iname)); @@ -332,7 +335,7 @@ static int interface_read(void) { if ((rx != -1LL) || (tx != -1LL)) if_submit(iname, "if_errors", rx, tx); } -/* #endif HAVE_LIBKSTAT */ + /* #endif HAVE_LIBKSTAT */ #elif defined(HAVE_LIBSTATGRAB) sg_network_io_stats *ios; @@ -345,7 +348,7 @@ static int interface_read(void) { continue; if_submit(ios[i].interface_name, "if_octets", ios[i].rx, ios[i].tx); } -/* #endif HAVE_LIBSTATGRAB */ + /* #endif HAVE_LIBSTATGRAB */ #elif defined(HAVE_PERFSTAT) perfstat_id_t id; diff --git a/src/ipmi.c b/src/ipmi.c index d78ffa95..db0e775f 100644 --- a/src/ipmi.c +++ b/src/ipmi.c @@ -111,7 +111,7 @@ static void c_ipmi_error(c_ipmi_instance_t *st, const char *func, int status) { } if (errbuf[0] == 0) { - snprintf(errbuf, sizeof(errbuf), "Unknown error %#x", status); + ssnprintf(errbuf, sizeof(errbuf), "Unknown error %#x", status); } errbuf[sizeof(errbuf) - 1] = '\0'; @@ -201,8 +201,8 @@ static void sensor_read_handler(ipmi_sensor_t *sensor, int err, sstrncpy(n.type_instance, list_item->type_instance, sizeof(n.type_instance)); sstrncpy(n.type, list_item->sensor_type, sizeof(n.type)); - snprintf(n.message, sizeof(n.message), "sensor %s not present", - list_item->sensor_name); + ssnprintf(n.message, sizeof(n.message), "sensor %s not present", + list_item->sensor_name); plugin_dispatch_notification(&n); } @@ -254,8 +254,8 @@ static void sensor_read_handler(ipmi_sensor_t *sensor, int err, sstrncpy(n.type_instance, list_item->type_instance, sizeof(n.type_instance)); sstrncpy(n.type, list_item->sensor_type, sizeof(n.type)); - snprintf(n.message, sizeof(n.message), "sensor %s present", - list_item->sensor_name); + ssnprintf(n.message, sizeof(n.message), "sensor %s present", + list_item->sensor_name); plugin_dispatch_notification(&n); } @@ -313,7 +313,8 @@ static void sensor_get_name(ipmi_sensor_t *sensor, char *buffer, int buf_len) { temp[sizeof(temp) - 1] = '\0'; if (entity_id_string != NULL && strlen(temp)) - snprintf(sensor_name, sizeof(sensor_name), "%s %s", temp, entity_id_string); + ssnprintf(sensor_name, sizeof(sensor_name), "%s %s", temp, + entity_id_string); else if (entity_id_string != NULL) sstrncpy(sensor_name, entity_id_string, sizeof(sensor_name)); else @@ -338,8 +339,8 @@ static void sensor_get_name(ipmi_sensor_t *sensor, char *buffer, int buf_len) { sensor_id_ptr = strstr(temp, "("); if (sensor_id_ptr != NULL) { /* `sensor_id_ptr' now points to "(123)". */ - snprintf(sensor_name, sizeof(sensor_name), "%s %s", sensor_name_ptr, - sensor_id_ptr); + ssnprintf(sensor_name, sizeof(sensor_name), "%s %s", sensor_name_ptr, + sensor_id_ptr); } /* else: don't touch sensor_name. */ } @@ -493,8 +494,8 @@ static int sensor_list_add(c_ipmi_instance_t *st, ipmi_sensor_t *sensor) { /* if sensor provides the percentage value, use "percent" collectd type and add the `percent` to the type instance of the reported value */ if (ipmi_sensor_get_percentage(sensor)) { - snprintf(list_item->type_instance, sizeof(list_item->type_instance), - "percent-%s", sensor_name_ptr); + ssnprintf(list_item->type_instance, sizeof(list_item->type_instance), + "percent-%s", sensor_name_ptr); type = "percent"; } else { /* use type instance as a name of the sensor */ @@ -514,8 +515,8 @@ static int sensor_list_add(c_ipmi_instance_t *st, ipmi_sensor_t *sensor) { sstrncpy(n.type_instance, list_item->type_instance, sizeof(n.type_instance)); sstrncpy(n.type, list_item->sensor_type, sizeof(n.type)); - snprintf(n.message, sizeof(n.message), "sensor %s added", - list_item->sensor_name); + ssnprintf(n.message, sizeof(n.message), "sensor %s added", + list_item->sensor_name); plugin_dispatch_notification(&n); } @@ -561,8 +562,8 @@ static int sensor_list_remove(c_ipmi_instance_t *st, ipmi_sensor_t *sensor) { sstrncpy(n.type_instance, list_item->type_instance, sizeof(n.type_instance)); sstrncpy(n.type, list_item->sensor_type, sizeof(n.type)); - snprintf(n.message, sizeof(n.message), "sensor %s removed", - list_item->sensor_name); + ssnprintf(n.message, sizeof(n.message), "sensor %s removed", + list_item->sensor_name); plugin_dispatch_notification(&n); } @@ -674,13 +675,13 @@ static int sensor_threshold_event_handler( ipmi_get_reading_name(event_type, sensor_type, offset); sensor_get_name(sensor, n.type_instance, sizeof(n.type_instance)); if (value_present != IPMI_NO_VALUES_PRESENT) - snprintf(n.message, sizeof(n.message), - "sensor %s received event: %s, value is %f", n.type_instance, - event_state, value); + ssnprintf(n.message, sizeof(n.message), + "sensor %s received event: %s, value is %f", n.type_instance, + event_state, value); else - snprintf(n.message, sizeof(n.message), - "sensor %s received event: %s, value not provided", - n.type_instance, event_state); + ssnprintf(n.message, sizeof(n.message), + "sensor %s received event: %s, value not provided", + n.type_instance, event_state); DEBUG("Threshold event received for sensor %s", n.type_instance); @@ -699,7 +700,7 @@ static int sensor_threshold_event_handler( /* both values present, so fall-through to add raw value too */ case IPMI_RAW_VALUE_PRESENT: { char buf[DATA_MAX_NAME_LEN] = {0}; - snprintf(buf, sizeof(buf), "0x%2.2x", raw_value); + ssnprintf(buf, sizeof(buf), "0x%2.2x", raw_value); plugin_notification_meta_add_string(&n, "raw", buf); } break; default: @@ -741,8 +742,8 @@ static int sensor_discrete_event_handler(ipmi_sensor_t *sensor, const char *event_state = ipmi_get_reading_name(event_type, sensor_type, offset); sensor_get_name(sensor, n.type_instance, sizeof(n.type_instance)); - snprintf(n.message, sizeof(n.message), "sensor %s received event: %s", - n.type_instance, event_state); + ssnprintf(n.message, sizeof(n.message), "sensor %s received event: %s", + n.type_instance, event_state); DEBUG("Discrete event received for sensor %s", n.type_instance); @@ -1253,7 +1254,7 @@ static int c_ipmi_init(void) { /* The `st->name` is used as "domain name" for ipmi_open_domain(). * That value should be unique, so we do plugin_register_complex_read() * at first as it checks the uniqueness. */ - snprintf(callback_name, sizeof(callback_name), "ipmi/%s", st->name); + ssnprintf(callback_name, sizeof(callback_name), "ipmi/%s", st->name); user_data_t ud = { .data = st, diff --git a/src/iptables.c b/src/iptables.c index e1d83dfc..ea2d2404 100644 --- a/src/iptables.c +++ b/src/iptables.c @@ -221,8 +221,8 @@ static int submit6_match(const struct ip6t_entry_match *match, sstrncpy(vl.plugin, "ip6tables", sizeof(vl.plugin)); - status = snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s-%s", - chain->table, chain->chain); + status = ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s-%s", + chain->table, chain->chain); if ((status < 1) || ((unsigned int)status >= sizeof(vl.plugin_instance))) return 0; @@ -230,8 +230,8 @@ static int submit6_match(const struct ip6t_entry_match *match, sstrncpy(vl.type_instance, chain->name, sizeof(vl.type_instance)); } else { if (chain->rule_type == RTYPE_NUM) - snprintf(vl.type_instance, sizeof(vl.type_instance), "%i", - chain->rule.num); + ssnprintf(vl.type_instance, sizeof(vl.type_instance), "%i", + chain->rule.num); else sstrncpy(vl.type_instance, (char *)match->data, sizeof(vl.type_instance)); } @@ -269,8 +269,8 @@ static int submit_match(const struct ipt_entry_match *match, sstrncpy(vl.plugin, "iptables", sizeof(vl.plugin)); - status = snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s-%s", - chain->table, chain->chain); + status = ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s-%s", + chain->table, chain->chain); if ((status < 1) || ((unsigned int)status >= sizeof(vl.plugin_instance))) return 0; @@ -278,8 +278,8 @@ static int submit_match(const struct ipt_entry_match *match, sstrncpy(vl.type_instance, chain->name, sizeof(vl.type_instance)); } else { if (chain->rule_type == RTYPE_NUM) - snprintf(vl.type_instance, sizeof(vl.type_instance), "%i", - chain->rule.num); + ssnprintf(vl.type_instance, sizeof(vl.type_instance), "%i", + chain->rule.num); else sstrncpy(vl.type_instance, (char *)match->data, sizeof(vl.type_instance)); } diff --git a/src/lpar.c b/src/lpar.c index dc3739b8..1c8685ed 100644 --- a/src/lpar.c +++ b/src/lpar.c @@ -224,10 +224,10 @@ static int lpar_read(void) { if (pool_busy_cpus < 0.0) pool_busy_cpus = 0.0; - snprintf(typinst, sizeof(typinst), "pool-%X-busy", lparstats.pool_id); + ssnprintf(typinst, sizeof(typinst), "pool-%X-busy", lparstats.pool_id); lpar_submit(typinst, pool_busy_cpus); - snprintf(typinst, sizeof(typinst), "pool-%X-idle", lparstats.pool_id); + ssnprintf(typinst, sizeof(typinst), "pool-%X-idle", lparstats.pool_id); lpar_submit(typinst, pool_idle_cpus); } diff --git a/src/lua.c b/src/lua.c index 9a1ceed7..3f48a55d 100644 --- a/src/lua.c +++ b/src/lua.c @@ -278,7 +278,7 @@ static int lua_cb_register_generic(lua_State *L, int type) /* {{{ */ char subname[DATA_MAX_NAME_LEN]; if (!lua_isfunction(L, 1) && lua_isstring(L, 1)) { const char *fname = lua_tostring(L, 1); - snprintf(subname, sizeof(subname), "%s()", fname); + ssnprintf(subname, sizeof(subname), "%s()", fname); lua_getglobal(L, fname); // Push function into stack lua_remove(L, 1); // Remove string from stack @@ -288,7 +288,7 @@ static int lua_cb_register_generic(lua_State *L, int type) /* {{{ */ } else { lua_getfield(L, LUA_REGISTRYINDEX, "collectd:callback_num"); int tmp = lua_tointeger(L, -1); - snprintf(subname, sizeof(subname), "callback_%d", tmp); + ssnprintf(subname, sizeof(subname), "callback_%d", tmp); lua_pop(L, 1); // Remove old value from stack lua_pushinteger(L, tmp + 1); lua_setfield(L, LUA_REGISTRYINDEX, "collectd:callback_num"); // pops value @@ -298,8 +298,8 @@ static int lua_cb_register_generic(lua_State *L, int type) /* {{{ */ lua_getfield(L, LUA_REGISTRYINDEX, "collectd:script_path"); char function_name[DATA_MAX_NAME_LEN]; - snprintf(function_name, sizeof(function_name), "lua/%s/%s", - lua_tostring(L, -1), subname); + ssnprintf(function_name, sizeof(function_name), "lua/%s/%s", + lua_tostring(L, -1), subname); lua_pop(L, 1); int callback_id = clua_store_callback(L, 1); @@ -322,14 +322,14 @@ static int lua_cb_register_generic(lua_State *L, int type) /* {{{ */ pthread_mutex_init(&cb->lock, NULL); if (PLUGIN_READ == type) { - int status = - plugin_register_complex_read(/* group = */ "lua", - /* name = */ function_name, - /* callback = */ clua_read, - /* interval = */ 0, - &(user_data_t){ - .data = cb, .free_func = lua_cb_free, - }); + int status = plugin_register_complex_read(/* group = */ "lua", + /* name = */ function_name, + /* callback = */ clua_read, + /* interval = */ 0, + &(user_data_t){ + .data = cb, + .free_func = lua_cb_free, + }); if (status != 0) return luaL_error(L, "%s", "plugin_register_complex_read failed"); @@ -338,7 +338,8 @@ static int lua_cb_register_generic(lua_State *L, int type) /* {{{ */ int status = plugin_register_write(/* name = */ function_name, /* callback = */ clua_write, &(user_data_t){ - .data = cb, .free_func = lua_cb_free, + .data = cb, + .free_func = lua_cb_free, }); if (status != 0) @@ -530,7 +531,7 @@ static int lua_config_script(const oconfig_item_t *ci) /* {{{ */ if (base_path[0] == '\0') sstrncpy(abs_path, rel_path, sizeof(abs_path)); else - snprintf(abs_path, sizeof(abs_path), "%s/%s", base_path, rel_path); + ssnprintf(abs_path, sizeof(abs_path), "%s/%s", base_path, rel_path); DEBUG("Lua plugin: abs_path = \"%s\";", abs_path); diff --git a/src/lvm.c b/src/lvm.c index c30489cb..3077c93c 100644 --- a/src/lvm.c +++ b/src/lvm.c @@ -81,7 +81,8 @@ static void report_lv_utilization(lv_t lv, char const *vg_name, return; used_bytes = lv_size * (used_percent_unscaled * PERCENT_SCALE_FACTOR); - snprintf(plugin_instance, sizeof(plugin_instance), "%s-%s", vg_name, lv_name); + ssnprintf(plugin_instance, sizeof(plugin_instance), "%s-%s", vg_name, + lv_name); lvm_submit(plugin_instance, "used", used_bytes); lvm_submit(plugin_instance, "free", lv_size - used_bytes); } diff --git a/src/mic.c b/src/mic.c index 6924eaf7..584d2e2b 100644 --- a/src/mic.c +++ b/src/mic.c @@ -132,7 +132,7 @@ static void mic_submit_memory_use(int micnumber, const char *type_instance, vl.values_len = 1; strncpy(vl.plugin, "mic", sizeof(vl.plugin)); - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i", micnumber); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i", micnumber); strncpy(vl.type, "memory", sizeof(vl.type)); strncpy(vl.type_instance, type_instance, sizeof(vl.type_instance)); @@ -164,7 +164,7 @@ static void mic_submit_temp(int micnumber, const char *type, gauge_t value) { vl.values_len = 1; strncpy(vl.plugin, "mic", sizeof(vl.plugin)); - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i", micnumber); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i", micnumber); strncpy(vl.type, "temperature", sizeof(vl.type)); strncpy(vl.type_instance, type, sizeof(vl.type_instance)); @@ -206,10 +206,10 @@ static void mic_submit_cpu(int micnumber, const char *type_instance, int core, strncpy(vl.plugin, "mic", sizeof(vl.plugin)); if (core < 0) /* global aggregation */ - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i", micnumber); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i", micnumber); else /* per-core statistics */ - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i-cpu-%i", - micnumber, core); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i-cpu-%i", + micnumber, core); strncpy(vl.type, "cpu", sizeof(vl.type)); strncpy(vl.type_instance, type_instance, sizeof(vl.type_instance)); @@ -258,7 +258,7 @@ static void mic_submit_power(int micnumber, const char *type, vl.values_len = 1; strncpy(vl.plugin, "mic", sizeof(vl.plugin)); - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i", micnumber); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%i", micnumber); strncpy(vl.type, type, sizeof(vl.type)); strncpy(vl.type_instance, type_instance, sizeof(vl.type_instance)); diff --git a/src/modbus.c b/src/modbus.c index 04232c35..e36f3dae 100644 --- a/src/modbus.c +++ b/src/modbus.c @@ -259,7 +259,7 @@ static int mb_submit(mb_host_t *host, mb_slave_t *slave, /* {{{ */ return EINVAL; if (slave->instance[0] == 0) - snprintf(slave->instance, sizeof(slave->instance), "slave_%i", slave->id); + ssnprintf(slave->instance, sizeof(slave->instance), "slave_%i", slave->id); vl.values = &value; vl.values_len = 1; @@ -341,7 +341,7 @@ static int mb_init_connection(mb_host_t *host) /* {{{ */ host->is_connected = true; return 0; } /* }}} int mb_init_connection */ -/* #endif LEGACY_LIBMODBUS */ + /* #endif LEGACY_LIBMODBUS */ #else /* if !LEGACY_LIBMODBUS */ /* Version 2.9.2 */ @@ -1072,13 +1072,14 @@ static int mb_config_add_host(oconfig_item_t *ci) /* {{{ */ if (status == 0) { char name[1024]; - snprintf(name, sizeof(name), "modbus-%s", host->host); + ssnprintf(name, sizeof(name), "modbus-%s", host->host); plugin_register_complex_read(/* group = */ NULL, name, /* callback = */ mb_read, /* interval = */ interval, &(user_data_t){ - .data = host, .free_func = host_free, + .data = host, + .free_func = host_free, }); } else { host_free(host); diff --git a/src/mqtt.c b/src/mqtt.c index 630114e4..a44f4c82 100644 --- a/src/mqtt.c +++ b/src/mqtt.c @@ -462,7 +462,7 @@ static int format_topic(char *buf, size_t buf_len, data_set_t const *ds, if (status != 0) return status; - status = snprintf(buf, buf_len, "%s/%s", conf->topic_prefix, name); + status = ssnprintf(buf, buf_len, "%s/%s", conf->topic_prefix, name); if ((status < 0) || (((size_t)status) >= buf_len)) return ENOMEM; @@ -599,7 +599,7 @@ static int mqtt_config_publisher(oconfig_item_t *ci) { ERROR("mqtt plugin: Unknown config option: %s", child->key); } - snprintf(cb_name, sizeof(cb_name), "mqtt/%s", conf->name); + ssnprintf(cb_name, sizeof(cb_name), "mqtt/%s", conf->name); plugin_register_write(cb_name, mqtt_write, &(user_data_t){ .data = conf, diff --git a/src/mysql.c b/src/mysql.c index 0eba01fa..aafd4dbd 100644 --- a/src/mysql.c +++ b/src/mysql.c @@ -218,14 +218,15 @@ static int mysql_config_database(oconfig_item_t *ci) /* {{{ */ (db->database != NULL) ? db->database : ""); if (db->instance != NULL) - snprintf(cb_name, sizeof(cb_name), "mysql-%s", db->instance); + ssnprintf(cb_name, sizeof(cb_name), "mysql-%s", db->instance); else sstrncpy(cb_name, "mysql", sizeof(cb_name)); plugin_register_complex_read( /* group = */ NULL, cb_name, mysql_read, /* interval = */ 0, &(user_data_t){ - .data = db, .free_func = mysql_database_free, + .data = db, + .free_func = mysql_database_free, }); } else { mysql_database_free(db); @@ -354,7 +355,8 @@ static void derive_submit(const char *type, const char *type_instance, static void traffic_submit(derive_t rx, derive_t tx, mysql_database_t *db) { value_t values[] = { - {.derive = rx}, {.derive = tx}, + {.derive = rx}, + {.derive = tx}, }; submit("mysql_octets", NULL, values, STATIC_ARRAY_SIZE(values), db); @@ -500,15 +502,15 @@ static int mysql_read_slave_stats(mysql_database_t *db, MYSQL *con) { if (((io == NULL) || (strcasecmp(io, "yes") != 0)) && (db->slave_io_running)) { n.severity = NOTIF_WARNING; - snprintf(n.message, sizeof(n.message), - "slave I/O thread not started or not connected to master"); + ssnprintf(n.message, sizeof(n.message), + "slave I/O thread not started or not connected to master"); plugin_dispatch_notification(&n); db->slave_io_running = false; } else if (((io != NULL) && (strcasecmp(io, "yes") == 0)) && (!db->slave_io_running)) { n.severity = NOTIF_OKAY; - snprintf(n.message, sizeof(n.message), - "slave I/O thread started and connected to master"); + ssnprintf(n.message, sizeof(n.message), + "slave I/O thread started and connected to master"); plugin_dispatch_notification(&n); db->slave_io_running = true; } @@ -516,13 +518,13 @@ static int mysql_read_slave_stats(mysql_database_t *db, MYSQL *con) { if (((sql == NULL) || (strcasecmp(sql, "yes") != 0)) && (db->slave_sql_running)) { n.severity = NOTIF_WARNING; - snprintf(n.message, sizeof(n.message), "slave SQL thread not started"); + ssnprintf(n.message, sizeof(n.message), "slave SQL thread not started"); plugin_dispatch_notification(&n); db->slave_sql_running = false; } else if (((sql != NULL) && (strcasecmp(sql, "yes") == 0)) && (!db->slave_sql_running)) { n.severity = NOTIF_OKAY; - snprintf(n.message, sizeof(n.message), "slave SQL thread started"); + ssnprintf(n.message, sizeof(n.message), "slave SQL thread started"); plugin_dispatch_notification(&n); db->slave_sql_running = true; } diff --git a/src/netapp.c b/src/netapp.c index 1b510d2a..43aaa7a7 100644 --- a/src/netapp.c +++ b/src/netapp.c @@ -643,7 +643,8 @@ static int submit_two_derive(const char *host, derive_t val0, derive_t val1, cdtime_t timestamp, cdtime_t interval) { value_t values[] = { - {.derive = val0}, {.derive = val1}, + {.derive = val0}, + {.derive = val1}, }; return submit_values(host, plugin_inst, type, type_inst, values, @@ -666,7 +667,8 @@ static int submit_two_gauge(const char *host, const char *plugin_inst, /* {{{ */ gauge_t val0, gauge_t val1, cdtime_t timestamp, cdtime_t interval) { value_t values[] = { - {.gauge = val0}, {.gauge = val1}, + {.gauge = val0}, + {.gauge = val1}, }; return submit_values(host, plugin_inst, type, type_inst, values, @@ -773,14 +775,13 @@ static int submit_volume_perf_data(const char *hostname, /* {{{ */ if ((hostname == NULL) || (old_data == NULL) || (new_data == NULL)) return -1; - snprintf(plugin_instance, sizeof(plugin_instance), "volume-%s", - old_data->name); + ssnprintf(plugin_instance, sizeof(plugin_instance), "volume-%s", + old_data->name); /* Check for and submit disk-octet values */ if (HAS_ALL_FLAGS(old_data->flags, CFG_VOLUME_PERF_IO) && - HAS_ALL_FLAGS(new_data->flags, - HAVE_VOLUME_PERF_BYTES_READ | - HAVE_VOLUME_PERF_BYTES_WRITE)) { + HAS_ALL_FLAGS(new_data->flags, HAVE_VOLUME_PERF_BYTES_READ | + HAVE_VOLUME_PERF_BYTES_WRITE)) { submit_two_derive( hostname, plugin_instance, "disk_octets", /* type instance = */ NULL, (derive_t)new_data->read_bytes, (derive_t)new_data->write_bytes, @@ -798,15 +799,15 @@ static int submit_volume_perf_data(const char *hostname, /* {{{ */ } /* Check for, calculate and submit disk-latency values */ - if (HAS_ALL_FLAGS(old_data->flags, - CFG_VOLUME_PERF_LATENCY | HAVE_VOLUME_PERF_OPS_READ | - HAVE_VOLUME_PERF_OPS_WRITE | - HAVE_VOLUME_PERF_LATENCY_READ | - HAVE_VOLUME_PERF_LATENCY_WRITE) && - HAS_ALL_FLAGS(new_data->flags, - HAVE_VOLUME_PERF_OPS_READ | HAVE_VOLUME_PERF_OPS_WRITE | - HAVE_VOLUME_PERF_LATENCY_READ | - HAVE_VOLUME_PERF_LATENCY_WRITE)) { + if (HAS_ALL_FLAGS(old_data->flags, CFG_VOLUME_PERF_LATENCY | + HAVE_VOLUME_PERF_OPS_READ | + HAVE_VOLUME_PERF_OPS_WRITE | + HAVE_VOLUME_PERF_LATENCY_READ | + HAVE_VOLUME_PERF_LATENCY_WRITE) && + HAS_ALL_FLAGS(new_data->flags, HAVE_VOLUME_PERF_OPS_READ | + HAVE_VOLUME_PERF_OPS_WRITE | + HAVE_VOLUME_PERF_LATENCY_READ | + HAVE_VOLUME_PERF_LATENCY_WRITE)) { gauge_t latency_per_op_read; gauge_t latency_per_op_write; @@ -1404,11 +1405,10 @@ static int cna_submit_volume_usage_data(const char *hostname, /* {{{ */ uint64_t snap_reserve_free = v->snap_reserved; uint64_t snap_norm_used = v->snap_used; - snprintf(plugin_instance, sizeof(plugin_instance), "volume-%s", v->name); + ssnprintf(plugin_instance, sizeof(plugin_instance), "volume-%s", v->name); - if (HAS_ALL_FLAGS(v->flags, - HAVE_VOLUME_USAGE_SNAP_USED | - HAVE_VOLUME_USAGE_SNAP_RSVD)) { + if (HAS_ALL_FLAGS(v->flags, HAVE_VOLUME_USAGE_SNAP_USED | + HAVE_VOLUME_USAGE_SNAP_RSVD)) { if (v->snap_reserved > v->snap_used) { snap_reserve_free = v->snap_reserved - v->snap_used; snap_reserve_used = v->snap_used; @@ -1422,9 +1422,8 @@ static int cna_submit_volume_usage_data(const char *hostname, /* {{{ */ /* The space used by snapshots but not reserved for them is included in * both, norm_used and snap_norm_used. If possible, subtract this here. */ - if (HAS_ALL_FLAGS(v->flags, - HAVE_VOLUME_USAGE_NORM_USED | - HAVE_VOLUME_USAGE_SNAP_USED)) { + if (HAS_ALL_FLAGS(v->flags, HAVE_VOLUME_USAGE_NORM_USED | + HAVE_VOLUME_USAGE_SNAP_USED)) { if (norm_used >= snap_norm_used) norm_used -= snap_norm_used; else { @@ -1466,9 +1465,8 @@ static int cna_submit_volume_usage_data(const char *hostname, /* {{{ */ "df_complex", "snap_reserved", (double)snap_reserve_free, /* timestamp = */ 0, interval); - if (HAS_ALL_FLAGS(v->flags, - HAVE_VOLUME_USAGE_SNAP_USED | - HAVE_VOLUME_USAGE_SNAP_RSVD)) + if (HAS_ALL_FLAGS(v->flags, HAVE_VOLUME_USAGE_SNAP_USED | + HAVE_VOLUME_USAGE_SNAP_RSVD)) submit_double(hostname, /* plugin instance = */ plugin_instance, "df_complex", "snap_reserve_used", (double)snap_reserve_used, /* timestamp = */ 0, interval); @@ -1498,12 +1496,13 @@ static int cna_change_volume_status(const char *hostname, /* {{{ */ if ((v->flags & IS_VOLUME_USAGE_OFFLINE) != 0) { n.severity = NOTIF_OKAY; - snprintf(n.message, sizeof(n.message), "Volume %s is now online.", v->name); + ssnprintf(n.message, sizeof(n.message), "Volume %s is now online.", + v->name); v->flags &= ~IS_VOLUME_USAGE_OFFLINE; } else { n.severity = NOTIF_WARNING; - snprintf(n.message, sizeof(n.message), "Volume %s is now offline.", - v->name); + ssnprintf(n.message, sizeof(n.message), "Volume %s is now offline.", + v->name); v->flags |= IS_VOLUME_USAGE_OFFLINE; } @@ -1832,8 +1831,8 @@ static int cna_handle_quota_data(const host_config_t *host, /* {{{ */ if (volume_name == NULL) continue; - snprintf(plugin_instance, sizeof(plugin_instance), "quota-%s-%s", - volume_name, tree_name); + ssnprintf(plugin_instance, sizeof(plugin_instance), "quota-%s-%s", + volume_name, tree_name); value = na_child_get_uint64(elem_quota, "disk-used", UINT64_MAX); if (value != UINT64_MAX) { @@ -1945,8 +1944,8 @@ static int cna_handle_snapvault_data(const char *hostname, /* {{{ */ continue; /* possible TODO: make plugin instance configurable */ - snprintf(plugin_instance, sizeof(plugin_instance), "snapvault-%s", - dest_path); + ssnprintf(plugin_instance, sizeof(plugin_instance), "snapvault-%s", + dest_path); submit_double(hostname, plugin_instance, /* type = */ "delay", NULL, (double)value, /* timestamp = */ 0, interval); @@ -2787,17 +2786,18 @@ static int cna_register_host(host_config_t *host) /* {{{ */ char cb_name[256]; if (host->vfiler) - snprintf(cb_name, sizeof(cb_name), "netapp-%s-%s", host->name, - host->vfiler); + ssnprintf(cb_name, sizeof(cb_name), "netapp-%s-%s", host->name, + host->vfiler); else - snprintf(cb_name, sizeof(cb_name), "netapp-%s", host->name); + ssnprintf(cb_name, sizeof(cb_name), "netapp-%s", host->name); plugin_register_complex_read( /* group = */ NULL, cb_name, /* callback = */ cna_read, /* interval = */ host->interval, &(user_data_t){ - .data = host, .free_func = (void *)free_host_config, + .data = host, + .free_func = (void *)free_host_config, }); return 0; diff --git a/src/netlink.c b/src/netlink.c index 37c2e294..806265a2 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -198,7 +198,8 @@ static void submit_two(const char *dev, const char *type, const char *type_instance, derive_t rx, derive_t tx) { value_list_t vl = VALUE_LIST_INIT; value_t values[] = { - {.derive = rx}, {.derive = tx}, + {.derive = rx}, + {.derive = tx}, }; vl.values = values; @@ -509,8 +510,8 @@ static int qos_filter_cb(const struct nlmsghdr *nlh, void *args) { if (strcmp(tc_type, "filter") == 0) numberic_id = tm->tcm_parent; - snprintf(tc_inst, sizeof(tc_inst), "%s-%x:%x", kind, numberic_id >> 16, - numberic_id & 0x0000FFFF); + ssnprintf(tc_inst, sizeof(tc_inst), "%s-%x:%x", kind, numberic_id >> 16, + numberic_id & 0x0000FFFF); } DEBUG("netlink plugin: qos_filter_cb: got %s for %s (%i).", tc_type, dev, @@ -541,8 +542,8 @@ static int qos_filter_cb(const struct nlmsghdr *nlh, void *args) { stats_submitted = true; - int r = snprintf(type_instance, sizeof(type_instance), "%s-%s", tc_type, - tc_inst); + int r = ssnprintf(type_instance, sizeof(type_instance), "%s-%s", tc_type, + tc_inst); if ((size_t)r >= sizeof(type_instance)) { ERROR("netlink plugin: type_instance truncated to %zu bytes, need %d", sizeof(type_instance), r); @@ -580,8 +581,8 @@ static int qos_filter_cb(const struct nlmsghdr *nlh, void *args) { if (!stats_submitted && ts != NULL) { char type_instance[DATA_MAX_NAME_LEN]; - int r = snprintf(type_instance, sizeof(type_instance), "%s-%s", tc_type, - tc_inst); + int r = ssnprintf(type_instance, sizeof(type_instance), "%s-%s", tc_type, + tc_inst); if ((size_t)r >= sizeof(type_instance)) { ERROR("netlink plugin: type_instance truncated to %zu bytes, need %d", sizeof(type_instance), r); diff --git a/src/nginx.c b/src/nginx.c index 7bb307a3..0da66ce2 100644 --- a/src/nginx.c +++ b/src/nginx.c @@ -122,8 +122,8 @@ static int init(void) { curl_easy_setopt(curl, CURLOPT_PASSWORD, (pass == NULL) ? "" : pass); #else static char credentials[1024]; - int status = snprintf(credentials, sizeof(credentials), "%s:%s", user, - pass == NULL ? "" : pass); + int status = ssnprintf(credentials, sizeof(credentials), "%s:%s", user, + pass == NULL ? "" : pass); if ((status < 0) || ((size_t)status >= sizeof(credentials))) { ERROR("nginx plugin: Credentials would have been truncated."); return -1; diff --git a/src/notify_desktop.c b/src/notify_desktop.c index 849b1d4c..e430b681 100644 --- a/src/notify_desktop.c +++ b/src/notify_desktop.c @@ -93,16 +93,16 @@ static int c_notify(const notification_t *n, timeout = fail_timeout; } - snprintf(summary, sizeof(summary), "collectd %s notification", - (NOTIF_FAILURE == n->severity) - ? "FAILURE" - : (NOTIF_WARNING == n->severity) - ? "WARNING" - : (NOTIF_OKAY == n->severity) ? "OKAY" : "UNKNOWN"); + ssnprintf(summary, sizeof(summary), "collectd %s notification", + (NOTIF_FAILURE == n->severity) + ? "FAILURE" + : (NOTIF_WARNING == n->severity) + ? "WARNING" + : (NOTIF_OKAY == n->severity) ? "OKAY" : "UNKNOWN"); notification = notify_notification_new(summary, n->message, NULL #if NOTIFY_CHECK_VERSION(0, 7, 0) - ); + ); #else , NULL); diff --git a/src/notify_email.c b/src/notify_email.c index dddb8b26..0e140e4e 100644 --- a/src/notify_email.c +++ b/src/notify_email.c @@ -104,8 +104,8 @@ static void monitor_cb(const char *buf, int buflen, int writing, static int notify_email_init(void) { char server[MAXSTRING]; - snprintf(server, sizeof(server), "%s:%i", - (smtp_host == NULL) ? DEFAULT_SMTP_HOST : smtp_host, smtp_port); + ssnprintf(server, sizeof(server), "%s:%i", + (smtp_host == NULL) ? DEFAULT_SMTP_HOST : smtp_host, smtp_port); pthread_mutex_lock(&session_lock); @@ -214,16 +214,16 @@ static int notify_email_notification(const notification_t *n, char *buf_ptr = buf; int buf_len = sizeof(buf); - snprintf(severity, sizeof(severity), "%s", - (n->severity == NOTIF_FAILURE) - ? "FAILURE" - : ((n->severity == NOTIF_WARNING) - ? "WARNING" - : ((n->severity == NOTIF_OKAY) ? "OKAY" : "UNKNOWN"))); + ssnprintf(severity, sizeof(severity), "%s", + (n->severity == NOTIF_FAILURE) + ? "FAILURE" + : ((n->severity == NOTIF_WARNING) + ? "WARNING" + : ((n->severity == NOTIF_OKAY) ? "OKAY" : "UNKNOWN"))); - snprintf(subject, sizeof(subject), - (email_subject == NULL) ? DEFAULT_SMTP_SUBJECT : email_subject, - severity, n->host); + ssnprintf(subject, sizeof(subject), + (email_subject == NULL) ? DEFAULT_SMTP_SUBJECT : email_subject, + severity, n->host); localtime_r(&CDTIME_T_TO_TIME_T(n->time), ×tamp_tm); strftime(timestamp_str, sizeof(timestamp_str), "%Y-%m-%d %H:%M:%S", @@ -231,15 +231,15 @@ static int notify_email_notification(const notification_t *n, timestamp_str[sizeof(timestamp_str) - 1] = '\0'; /* Let's make RFC822 message text with \r\n EOLs */ - int status = snprintf(buf, buf_len, - "MIME-Version: 1.0\r\n" - "Content-Type: text/plain; charset=\"US-ASCII\"\r\n" - "Content-Transfer-Encoding: 8bit\r\n" - "Subject: %s\r\n" - "\r\n" - "%s - %s@%s\r\n" - "\r\n", - subject, timestamp_str, severity, n->host); + int status = ssnprintf(buf, buf_len, + "MIME-Version: 1.0\r\n" + "Content-Type: text/plain; charset=\"US-ASCII\"\r\n" + "Content-Transfer-Encoding: 8bit\r\n" + "Subject: %s\r\n" + "\r\n" + "%s - %s@%s\r\n" + "\r\n", + subject, timestamp_str, severity, n->host); if (status > 0) { buf_ptr += status; @@ -248,7 +248,7 @@ static int notify_email_notification(const notification_t *n, #define APPEND(format, value) \ if ((buf_len > 0) && (strlen(value) > 0)) { \ - status = snprintf(buf_ptr, buf_len, format "\r\n", value); \ + status = ssnprintf(buf_ptr, buf_len, format "\r\n", value); \ if (status > 0) { \ buf_ptr += status; \ buf_len -= status; \ diff --git a/src/onewire.c b/src/onewire.c index a0a546b2..729a05c7 100644 --- a/src/onewire.c +++ b/src/onewire.c @@ -297,8 +297,8 @@ static int cow_read_values(const char *path, const char *name, char file[4096]; char *endptr; - snprintf(file, sizeof(file), "%s/%s", path, - family_info->features[i].filename); + ssnprintf(file, sizeof(file), "%s/%s", path, + family_info->features[i].filename); file[sizeof(file) - 1] = '\0'; buffer = NULL; @@ -348,11 +348,11 @@ static int cow_read_ds2409(const char *path) { char subpath[4096]; int status; - status = snprintf(subpath, sizeof(subpath), "%s/main", path); + status = ssnprintf(subpath, sizeof(subpath), "%s/main", path); if ((status > 0) && (status < (int)sizeof(subpath))) cow_read_bus(subpath); - status = snprintf(subpath, sizeof(subpath), "%s/aux", path); + status = ssnprintf(subpath, sizeof(subpath), "%s/aux", path); if ((status > 0) && (status < (int)sizeof(subpath))) cow_read_bus(subpath); @@ -384,9 +384,9 @@ static int cow_read_bus(const char *path) { dummy = NULL; if (strcmp("/", path) == 0) - status = snprintf(subpath, sizeof(subpath), "/%s", buffer_ptr); + status = ssnprintf(subpath, sizeof(subpath), "/%s", buffer_ptr); else - status = snprintf(subpath, sizeof(subpath), "%s/%s", path, buffer_ptr); + status = ssnprintf(subpath, sizeof(subpath), "%s/%s", path, buffer_ptr); if ((status <= 0) || (status >= (int)sizeof(subpath))) continue; diff --git a/src/openldap.c b/src/openldap.c index 5659c69f..cd72cdbe 100644 --- a/src/openldap.c +++ b/src/openldap.c @@ -306,8 +306,8 @@ static int cldap_read_host(user_data_t *ud) /* {{{ */ if ((olmbdb_list = ldap_get_values_len(st->ld, e, "olmBDBEntryCache")) != NULL) { olmbdb_data = *olmbdb_list[0]; - snprintf(typeinst, sizeof(typeinst), "bdbentrycache-%s", - nc_data.bv_val); + ssnprintf(typeinst, sizeof(typeinst), "bdbentrycache-%s", + nc_data.bv_val); cldap_submit_gauge("cache_size", typeinst, atoll(olmbdb_data.bv_val), st); ldap_value_free_len(olmbdb_list); @@ -316,7 +316,8 @@ static int cldap_read_host(user_data_t *ud) /* {{{ */ if ((olmbdb_list = ldap_get_values_len(st->ld, e, "olmBDBDNCache")) != NULL) { olmbdb_data = *olmbdb_list[0]; - snprintf(typeinst, sizeof(typeinst), "bdbdncache-%s", nc_data.bv_val); + ssnprintf(typeinst, sizeof(typeinst), "bdbdncache-%s", + nc_data.bv_val); cldap_submit_gauge("cache_size", typeinst, atoll(olmbdb_data.bv_val), st); ldap_value_free_len(olmbdb_list); @@ -325,8 +326,8 @@ static int cldap_read_host(user_data_t *ud) /* {{{ */ if ((olmbdb_list = ldap_get_values_len(st->ld, e, "olmBDBIDLCache")) != NULL) { olmbdb_data = *olmbdb_list[0]; - snprintf(typeinst, sizeof(typeinst), "bdbidlcache-%s", - nc_data.bv_val); + ssnprintf(typeinst, sizeof(typeinst), "bdbidlcache-%s", + nc_data.bv_val); cldap_submit_gauge("cache_size", typeinst, atoll(olmbdb_data.bv_val), st); ldap_value_free_len(olmbdb_list); @@ -462,16 +463,17 @@ static int cldap_config_add(oconfig_item_t *ci) /* {{{ */ char callback_name[3 * DATA_MAX_NAME_LEN] = {0}; - snprintf(callback_name, sizeof(callback_name), "openldap/%s/%s", - (st->host != NULL) ? st->host : hostname_g, - (st->name != NULL) ? st->name : "default"); + ssnprintf(callback_name, sizeof(callback_name), "openldap/%s/%s", + (st->host != NULL) ? st->host : hostname_g, + (st->name != NULL) ? st->name : "default"); return plugin_register_complex_read(/* group = */ NULL, /* name = */ callback_name, /* callback = */ cldap_read_host, /* interval = */ 0, &(user_data_t){ - .data = st, .free_func = cldap_free, + .data = st, + .free_func = cldap_free, }); } /* }}} int cldap_config_add */ diff --git a/src/oracle.c b/src/oracle.c index 3f28110f..cebc7a2f 100644 --- a/src/oracle.c +++ b/src/oracle.c @@ -640,7 +640,7 @@ static int o_read_database(o_database_t *db) /* {{{ */ if ((status != OCI_SUCCESS) && (status != OCI_SUCCESS_WITH_INFO)) { char errfunc[256]; - snprintf(errfunc, sizeof(errfunc), "OCILogon(\"%s\")", db->connect_id); + ssnprintf(errfunc, sizeof(errfunc), "OCILogon(\"%s\")", db->connect_id); o_report_error("o_read_database", db->name, NULL, errfunc, oci_error); DEBUG("oracle plugin: OCILogon (%s): db->oci_service_context = %p;", diff --git a/src/ovs_events.c b/src/ovs_events.c index 0f9a57ca..ae8ac3db 100644 --- a/src/ovs_events.c +++ b/src/ovs_events.c @@ -158,8 +158,8 @@ static char *ovs_events_get_select_params() { return NULL; } opt_buff = new_buff; - int ret = snprintf(opt_buff + buff_off, buff_size - buff_off, option_fmt, - iface->name); + int ret = ssnprintf(opt_buff + buff_off, buff_size - buff_off, option_fmt, + iface->name); if (ret < 0) { sfree(opt_buff); return NULL; @@ -339,9 +339,9 @@ ovs_events_dispatch_notification(const ovs_events_iface_info_t *ifinfo) { } /* fill the notification data */ - snprintf(n.message, sizeof(n.message), - "link state of \"%s\" interface has been changed to \"%s\"", - ifinfo->name, msg_link_status); + ssnprintf(n.message, sizeof(n.message), + "link state of \"%s\" interface has been changed to \"%s\"", + ifinfo->name, msg_link_status); sstrncpy(n.host, hostname_g, sizeof(n.host)); sstrncpy(n.plugin_instance, ifinfo->name, sizeof(n.plugin_instance)); sstrncpy(n.type, "gauge", sizeof(n.type)); diff --git a/src/ovs_stats.c b/src/ovs_stats.c index da218b6f..e22e851e 100644 --- a/src/ovs_stats.c +++ b/src/ovs_stats.c @@ -282,7 +282,9 @@ static void ovs_stats_submit_interfaces(port_list_t *port) { } strjoin(devname, sizeof(devname), (char *[]){ - bridge->name, port->name, iface->name, + bridge->name, + port->name, + iface->name, }, 3, "."); ovs_stats_submit_one(devname, "if_collisions", NULL, @@ -394,16 +396,16 @@ static void ovs_stats_submit_port(port_list_t *port) { for (interface_list_t *iface = port->iface; iface != NULL; iface = iface->next) { - snprintf(key_str, sizeof(key_str), "uuid%d", i); + ssnprintf(key_str, sizeof(key_str), "uuid%d", i); meta_data_add_string(meta, key_str, iface->iface_uuid); if (strlen(iface->ex_vm_id)) { - snprintf(key_str, sizeof(key_str), "vm-uuid%d", i); + ssnprintf(key_str, sizeof(key_str), "vm-uuid%d", i); meta_data_add_string(meta, key_str, iface->ex_vm_id); } if (strlen(iface->ex_iface_id)) { - snprintf(key_str, sizeof(key_str), "iface-id%d", i); + ssnprintf(key_str, sizeof(key_str), "iface-id%d", i); meta_data_add_string(meta, key_str, iface->ex_iface_id); } @@ -411,7 +413,7 @@ static void ovs_stats_submit_port(port_list_t *port) { } } bridge_list_t *bridge = port->br; - snprintf(devname, sizeof(devname), "%s.%s", bridge->name, port->name); + ssnprintf(devname, sizeof(devname), "%s.%s", bridge->name, port->name); ovs_stats_submit_one(devname, "if_collisions", NULL, ovs_stats_get_port_stat_value(port, collisions), meta); ovs_stats_submit_two(devname, "if_dropped", NULL, diff --git a/src/perl.c b/src/perl.c index 09e6e5aa..0a4ae71d 100644 --- a/src/perl.c +++ b/src/perl.c @@ -863,9 +863,9 @@ static int oconfig_item2hv(pTHX_ oconfig_item_t *ci, HV *hash) { static char *get_module_name(char *buf, size_t buf_len, const char *module) { int status = 0; if (base_name[0] == '\0') - status = snprintf(buf, buf_len, "%s", module); + status = ssnprintf(buf, buf_len, "%s", module); else - status = snprintf(buf, buf_len, "%s::%s", base_name, module); + status = ssnprintf(buf, buf_len, "%s::%s", base_name, module); if ((status < 0) || ((unsigned int)status >= buf_len)) return NULL; return buf; diff --git a/src/postgresql.c b/src/postgresql.c index 8e4328fa..4e608be1 100644 --- a/src/postgresql.c +++ b/src/postgresql.c @@ -58,7 +58,7 @@ * is ignored. */ #define C_PSQL_PAR_APPEND(buf, buf_len, parameter, value) \ if ((0 < (buf_len)) && (NULL != (value)) && ('\0' != *(value))) { \ - int s = snprintf(buf, buf_len, " %s = '%s'", parameter, value); \ + int s = ssnprintf(buf, buf_len, " %s = '%s'", parameter, value); \ if (0 < s) { \ buf += s; \ buf_len -= s; \ @@ -323,7 +323,7 @@ static int c_psql_connect(c_psql_database_t *db) { if ((!db) || (!db->database)) return -1; - status = snprintf(buf, buf_len, "dbname = '%s'", db->database); + status = ssnprintf(buf, buf_len, "dbname = '%s'", db->database); if (0 < status) { buf += status; buf_len -= status; @@ -426,8 +426,8 @@ static PGresult *c_psql_exec_query_params(c_psql_database_t *db, udb_query_t *q, params[i] = db->user; break; case C_PSQL_PARAM_INTERVAL: - snprintf(interval, sizeof(interval), "%.3f", - CDTIME_T_TO_DOUBLE(plugin_get_interval())); + ssnprintf(interval, sizeof(interval), "%.3f", + CDTIME_T_TO_DOUBLE(plugin_get_interval())); params[i] = interval; break; case C_PSQL_PARAM_INSTANCE: @@ -632,7 +632,7 @@ static char *values_name_to_sqlarray(const data_set_t *ds, char *string, str_len = string_len; for (size_t i = 0; i < ds->ds_num; ++i) { - int status = snprintf(str_ptr, str_len, ",'%s'", ds->ds[i].name); + int status = ssnprintf(str_ptr, str_len, ",'%s'", ds->ds[i].name); if (status < 1) return NULL; @@ -670,10 +670,10 @@ static char *values_type_to_sqlarray(const data_set_t *ds, char *string, int status; if (store_rates) - status = snprintf(str_ptr, str_len, ",'gauge'"); + status = ssnprintf(str_ptr, str_len, ",'gauge'"); else - status = snprintf(str_ptr, str_len, ",'%s'", - DS_TYPE_TO_STRING(ds->ds[i].type)); + status = ssnprintf(str_ptr, str_len, ",'%s'", + DS_TYPE_TO_STRING(ds->ds[i].type)); if (status < 1) { str_len = 0; @@ -725,7 +725,7 @@ static char *values_to_sqlarray(const data_set_t *ds, const value_list_t *vl, if (ds->ds[i].type == DS_TYPE_GAUGE) status = - snprintf(str_ptr, str_len, "," GAUGE_FORMAT, vl->values[i].gauge); + ssnprintf(str_ptr, str_len, "," GAUGE_FORMAT, vl->values[i].gauge); else if (store_rates) { if (rates == NULL) rates = uc_get_rate(ds, vl); @@ -735,14 +735,14 @@ static char *values_to_sqlarray(const data_set_t *ds, const value_list_t *vl, return NULL; } - status = snprintf(str_ptr, str_len, ",%lf", rates[i]); + status = ssnprintf(str_ptr, str_len, ",%lf", rates[i]); } else if (ds->ds[i].type == DS_TYPE_COUNTER) - status = snprintf(str_ptr, str_len, ",%" PRIu64, - (uint64_t)vl->values[i].counter); + status = ssnprintf(str_ptr, str_len, ",%" PRIu64, + (uint64_t)vl->values[i].counter); else if (ds->ds[i].type == DS_TYPE_DERIVE) - status = snprintf(str_ptr, str_len, ",%" PRIi64, vl->values[i].derive); + status = ssnprintf(str_ptr, str_len, ",%" PRIi64, vl->values[i].derive); else if (ds->ds[i].type == DS_TYPE_ABSOLUTE) - status = snprintf(str_ptr, str_len, ",%" PRIu64, vl->values[i].absolute); + status = ssnprintf(str_ptr, str_len, ",%" PRIu64, vl->values[i].absolute); if (status < 1) { str_len = 0; @@ -940,7 +940,7 @@ static int c_psql_shutdown(void) { if (db->writers_num > 0) { char cb_name[DATA_MAX_NAME_LEN]; - snprintf(cb_name, sizeof(cb_name), "postgresql-%s", db->database); + ssnprintf(cb_name, sizeof(cb_name), "postgresql-%s", db->database); if (!had_flush) { plugin_unregister_flush("postgresql"); @@ -1199,7 +1199,7 @@ static int c_psql_config_database(oconfig_item_t *ci) { } } - snprintf(cb_name, sizeof(cb_name), "postgresql-%s", db->instance); + ssnprintf(cb_name, sizeof(cb_name), "postgresql-%s", db->instance); user_data_t ud = {.data = db, .free_func = c_psql_database_delete}; diff --git a/src/protocols.c b/src/protocols.c index 65b450c9..7bfa663c 100644 --- a/src/protocols.c +++ b/src/protocols.c @@ -41,7 +41,8 @@ * Global variables */ static const char *config_keys[] = { - "Value", "IgnoreSelected", + "Value", + "IgnoreSelected", }; static int config_keys_num = STATIC_ARRAY_SIZE(config_keys); @@ -154,8 +155,8 @@ static int read_file(const char *path) { if (values_list != NULL) { char match_name[2 * DATA_MAX_NAME_LEN]; - snprintf(match_name, sizeof(match_name), "%s:%s", key_buffer, - key_fields[i]); + ssnprintf(match_name, sizeof(match_name), "%s:%s", key_buffer, + key_fields[i]); if (ignorelist_match(values_list, match_name)) continue; diff --git a/src/python.c b/src/python.c index 9d47d701..70db6b6f 100644 --- a/src/python.c +++ b/src/python.c @@ -285,7 +285,7 @@ static void cpy_build_name(char *buf, size_t size, PyObject *callback, PyObject *mod = NULL; if (name != NULL) { - snprintf(buf, size, "python.%s", name); + ssnprintf(buf, size, "python.%s", name); return; } @@ -294,14 +294,14 @@ static void cpy_build_name(char *buf, size_t size, PyObject *callback, module = cpy_unicode_or_bytes_to_string(&mod); if (module != NULL) { - snprintf(buf, size, "python.%s", module); + ssnprintf(buf, size, "python.%s", module); Py_XDECREF(mod); PyErr_Clear(); return; } Py_XDECREF(mod); - snprintf(buf, size, "python.%p", callback); + ssnprintf(buf, size, "python.%p", callback); PyErr_Clear(); } @@ -703,8 +703,9 @@ static PyObject *cpy_get_dataset(PyObject *self, PyObject *args) { for (size_t i = 0; i < ds->ds_num; ++i) { tuple = PyTuple_New(4); PyTuple_SET_ITEM(tuple, 0, cpy_string_to_unicode_or_bytes(ds->ds[i].name)); - PyTuple_SET_ITEM(tuple, 1, cpy_string_to_unicode_or_bytes( - DS_TYPE_TO_STRING(ds->ds[i].type))); + PyTuple_SET_ITEM( + tuple, 1, + cpy_string_to_unicode_or_bytes(DS_TYPE_TO_STRING(ds->ds[i].type))); PyTuple_SET_ITEM(tuple, 2, float_or_none(ds->ds[i].min)); PyTuple_SET_ITEM(tuple, 3, float_or_none(ds->ds[i].max)); PyList_SET_ITEM(list, i, tuple); @@ -774,7 +775,8 @@ static PyObject *cpy_register_generic_userdata(void *reg, void *handler, register_function(buf, handler, &(user_data_t){ - .data = c, .free_func = cpy_destroy_user_data, + .data = c, + .free_func = cpy_destroy_user_data, }); ++cpy_num_callbacks; @@ -817,7 +819,8 @@ static PyObject *cpy_register_read(PyObject *self, PyObject *args, /* group = */ "python", buf, cpy_read_callback, DOUBLE_TO_CDTIME_T(interval), &(user_data_t){ - .data = c, .free_func = cpy_destroy_user_data, + .data = c, + .free_func = cpy_destroy_user_data, }); ++cpy_num_callbacks; return cpy_string_to_unicode_or_bytes(buf); @@ -1201,8 +1204,9 @@ static PyObject *cpy_oconfig_to_pyconfig(oconfig_item_t *ci, PyObject *parent) { values = PyTuple_New(ci->values_num); /* New reference. */ for (int i = 0; i < ci->values_num; ++i) { if (ci->values[i].type == OCONFIG_TYPE_STRING) { - PyTuple_SET_ITEM(values, i, cpy_string_to_unicode_or_bytes( - ci->values[i].value.string)); + PyTuple_SET_ITEM( + values, i, + cpy_string_to_unicode_or_bytes(ci->values[i].value.string)); } else if (ci->values[i].type == OCONFIG_TYPE_NUMBER) { PyTuple_SET_ITEM(values, i, PyFloat_FromDouble(ci->values[i].value.number)); diff --git a/src/redis.c b/src/redis.c index 37dc8d68..77ce5fb6 100644 --- a/src/redis.c +++ b/src/redis.c @@ -115,7 +115,7 @@ static int redis_node_add(redis_node_t *rn) /* {{{ */ redis_have_instances = true; char cb_name[sizeof("redis/") + DATA_MAX_NAME_LEN]; - snprintf(cb_name, sizeof(cb_name), "redis/%s", rn->name); + ssnprintf(cb_name, sizeof(cb_name), "redis/%s", rn->name); return plugin_register_complex_read( /* group = */ "redis", @@ -123,7 +123,8 @@ static int redis_node_add(redis_node_t *rn) /* {{{ */ /* callback = */ redis_read, /* interval = */ 0, &(user_data_t){ - .data = rn, .free_func = redis_node_free, + .data = rn, + .free_func = redis_node_free, }); } /* }}} */ @@ -486,7 +487,7 @@ static int redis_db_stats(const char *node, char const *info_line) /* {{{ */ char *str; int i; - snprintf(field_name, sizeof(field_name), "db%d:keys=", db); + ssnprintf(field_name, sizeof(field_name), "db%d:keys=", db); str = strstr(info_line, field_name); if (!str) @@ -502,7 +503,7 @@ static int redis_db_stats(const char *node, char const *info_line) /* {{{ */ return -1; } - snprintf(db_id, sizeof(db_id), "%d", db); + ssnprintf(db_id, sizeof(db_id), "%d", db); redis_submit(node, "records", db_id, val); } return 0; diff --git a/src/routeros.c b/src/routeros.c index 70dd75ee..ece865b6 100644 --- a/src/routeros.c +++ b/src/routeros.c @@ -53,7 +53,8 @@ static void cr_submit_io(cr_data_t *rd, const char *type, /* {{{ */ const char *type_instance, derive_t rx, derive_t tx) { value_list_t vl = VALUE_LIST_INIT; value_t values[] = { - {.derive = rx}, {.derive = tx}, + {.derive = rx}, + {.derive = tx}, }; vl.values = values; @@ -150,8 +151,8 @@ static void submit_regtable(cr_data_t *rd, /* {{{ */ name = "default"; /*** RX ***/ - snprintf(type_instance, sizeof(type_instance), "%s-%s-rx", r->interface, - name); + ssnprintf(type_instance, sizeof(type_instance), "%s-%s-rx", r->interface, + name); cr_submit_gauge(rd, "bitrate", type_instance, (gauge_t)(1000000.0 * r->rx_rate)); cr_submit_gauge(rd, "signal_power", type_instance, @@ -159,8 +160,8 @@ static void submit_regtable(cr_data_t *rd, /* {{{ */ cr_submit_gauge(rd, "signal_quality", type_instance, (gauge_t)r->rx_ccq); /*** TX ***/ - snprintf(type_instance, sizeof(type_instance), "%s-%s-tx", r->interface, - name); + ssnprintf(type_instance, sizeof(type_instance), "%s-%s-tx", r->interface, + name); cr_submit_gauge(rd, "bitrate", type_instance, (gauge_t)(1000000.0 * r->tx_rate)); cr_submit_gauge(rd, "signal_power", type_instance, @@ -168,7 +169,7 @@ static void submit_regtable(cr_data_t *rd, /* {{{ */ cr_submit_gauge(rd, "signal_quality", type_instance, (gauge_t)r->tx_ccq); /*** RX / TX ***/ - snprintf(type_instance, sizeof(type_instance), "%s-%s", r->interface, name); + ssnprintf(type_instance, sizeof(type_instance), "%s-%s", r->interface, name); cr_submit_io(rd, "if_octets", type_instance, (derive_t)r->rx_bytes, (derive_t)r->tx_bytes); cr_submit_gauge(rd, "snr", type_instance, (gauge_t)r->signal_to_noise); @@ -438,11 +439,12 @@ static int cr_config_router(oconfig_item_t *ci) /* {{{ */ return status; } - snprintf(read_name, sizeof(read_name), "routeros/%s", router_data->node); + ssnprintf(read_name, sizeof(read_name), "routeros/%s", router_data->node); return plugin_register_complex_read( /* group = */ NULL, read_name, cr_read, /* interval = */ 0, &(user_data_t){ - .data = router_data, .free_func = (void *)cr_free_data, + .data = router_data, + .free_func = (void *)cr_free_data, }); } /* }}} int cr_config_router */ diff --git a/src/rrdcached.c b/src/rrdcached.c index 9aeb71a5..1e75ff83 100644 --- a/src/rrdcached.c +++ b/src/rrdcached.c @@ -67,7 +67,7 @@ static int value_list_to_string(char *buffer, int buffer_len, memset(buffer, '\0', buffer_len); int status = - snprintf(buffer, buffer_len, "%.6f", CDTIME_T_TO_DOUBLE(vl->time)); + ssnprintf(buffer, buffer_len, "%.6f", CDTIME_T_TO_DOUBLE(vl->time)); if ((status < 1) || (status >= buffer_len)) return -1; int offset = status; @@ -80,17 +80,17 @@ static int value_list_to_string(char *buffer, int buffer_len, return -1; if (ds->ds[i].type == DS_TYPE_COUNTER) { - status = snprintf(buffer + offset, buffer_len - offset, ":%" PRIu64, - (uint64_t)vl->values[i].counter); + status = ssnprintf(buffer + offset, buffer_len - offset, ":%" PRIu64, + (uint64_t)vl->values[i].counter); } else if (ds->ds[i].type == DS_TYPE_GAUGE) { - status = snprintf(buffer + offset, buffer_len - offset, ":%f", - vl->values[i].gauge); + status = ssnprintf(buffer + offset, buffer_len - offset, ":%f", + vl->values[i].gauge); } else if (ds->ds[i].type == DS_TYPE_DERIVE) { - status = snprintf(buffer + offset, buffer_len - offset, ":%" PRIi64, - vl->values[i].derive); + status = ssnprintf(buffer + offset, buffer_len - offset, ":%" PRIi64, + vl->values[i].derive); } else /* if (ds->ds[i].type == DS_TYPE_ABSOLUTE) */ { - status = snprintf(buffer + offset, buffer_len - offset, ":%" PRIu64, - vl->values[i].absolute); + status = ssnprintf(buffer + offset, buffer_len - offset, ":%" PRIu64, + vl->values[i].absolute); } if ((status < 1) || (status >= (buffer_len - offset))) @@ -426,7 +426,8 @@ static int rc_write(const data_set_t *ds, const value_list_t *vl, } char *values_array[2] = { - [0] = values, [1] = NULL, + [0] = values, + [1] = NULL, }; while (42) { @@ -461,9 +462,9 @@ static int rc_flush(__attribute__((unused)) cdtime_t timeout, /* {{{ */ char filename[PATH_MAX + 1]; if (datadir != NULL) - snprintf(filename, sizeof(filename), "%s/%s.rrd", datadir, identifier); + ssnprintf(filename, sizeof(filename), "%s/%s.rrd", datadir, identifier); else - snprintf(filename, sizeof(filename), "%s.rrd", identifier); + ssnprintf(filename, sizeof(filename), "%s.rrd", identifier); rrd_clear_error(); int status = rrdc_connect(daemon_address); diff --git a/src/rrdtool.c b/src/rrdtool.c index d0849d12..bd5943c5 100644 --- a/src/rrdtool.c +++ b/src/rrdtool.c @@ -120,7 +120,7 @@ static int srrd_update(char *filename, char *template, int argc, return status; } /* int srrd_update */ -/* #endif HAVE_THREADSAFE_LIBRRD */ + /* #endif HAVE_THREADSAFE_LIBRRD */ #else /* !HAVE_THREADSAFE_LIBRRD */ static int srrd_update(char *filename, char *template, int argc, @@ -173,7 +173,7 @@ static int value_list_to_string_multiple(char *buffer, int buffer_len, memset(buffer, '\0', buffer_len); tt = CDTIME_T_TO_TIME_T(vl->time); - status = snprintf(buffer, buffer_len, "%u", (unsigned int)tt); + status = ssnprintf(buffer, buffer_len, "%u", (unsigned int)tt); if ((status < 1) || (status >= buffer_len)) return -1; offset = status; @@ -186,17 +186,17 @@ static int value_list_to_string_multiple(char *buffer, int buffer_len, return -1; if (ds->ds[i].type == DS_TYPE_COUNTER) - status = snprintf(buffer + offset, buffer_len - offset, ":%" PRIu64, - (uint64_t)vl->values[i].counter); + status = ssnprintf(buffer + offset, buffer_len - offset, ":%" PRIu64, + (uint64_t)vl->values[i].counter); else if (ds->ds[i].type == DS_TYPE_GAUGE) - status = snprintf(buffer + offset, buffer_len - offset, ":" GAUGE_FORMAT, - vl->values[i].gauge); + status = ssnprintf(buffer + offset, buffer_len - offset, ":" GAUGE_FORMAT, + vl->values[i].gauge); else if (ds->ds[i].type == DS_TYPE_DERIVE) - status = snprintf(buffer + offset, buffer_len - offset, ":%" PRIi64, - vl->values[i].derive); + status = ssnprintf(buffer + offset, buffer_len - offset, ":%" PRIi64, + vl->values[i].derive); else /*if (ds->ds[i].type == DS_TYPE_ABSOLUTE) */ - status = snprintf(buffer + offset, buffer_len - offset, ":%" PRIu64, - vl->values[i].absolute); + status = ssnprintf(buffer + offset, buffer_len - offset, ":%" PRIu64, + vl->values[i].absolute); if ((status < 1) || (status >= (buffer_len - offset))) return -1; @@ -218,20 +218,20 @@ static int value_list_to_string(char *buffer, int buffer_len, tt = CDTIME_T_TO_TIME_T(vl->time); switch (ds->ds[0].type) { case DS_TYPE_DERIVE: - status = snprintf(buffer, buffer_len, "%u:%" PRIi64, (unsigned)tt, - vl->values[0].derive); + status = ssnprintf(buffer, buffer_len, "%u:%" PRIi64, (unsigned)tt, + vl->values[0].derive); break; case DS_TYPE_GAUGE: - status = snprintf(buffer, buffer_len, "%u:" GAUGE_FORMAT, (unsigned)tt, - vl->values[0].gauge); + status = ssnprintf(buffer, buffer_len, "%u:" GAUGE_FORMAT, (unsigned)tt, + vl->values[0].gauge); break; case DS_TYPE_COUNTER: - status = snprintf(buffer, buffer_len, "%u:%" PRIu64, (unsigned)tt, - (uint64_t)vl->values[0].counter); + status = ssnprintf(buffer, buffer_len, "%u:%" PRIu64, (unsigned)tt, + (uint64_t)vl->values[0].counter); break; case DS_TYPE_ABSOLUTE: - status = snprintf(buffer, buffer_len, "%u:%" PRIu64, (unsigned)tt, - vl->values[0].absolute); + status = ssnprintf(buffer, buffer_len, "%u:%" PRIu64, (unsigned)tt, + vl->values[0].absolute); break; default: return EINVAL; @@ -566,9 +566,9 @@ static int rrd_cache_flush_identifier(cdtime_t timeout, now = cdtime(); if (datadir == NULL) - snprintf(key, sizeof(key), "%s.rrd", identifier); + ssnprintf(key, sizeof(key), "%s.rrd", identifier); else - snprintf(key, sizeof(key), "%s/%s.rrd", datadir, identifier); + ssnprintf(key, sizeof(key), "%s/%s.rrd", datadir, identifier); key[sizeof(key) - 1] = '\0'; status = c_avl_get(cache, key, (void *)&rc); diff --git a/src/sigrok.c b/src/sigrok.c index a8b67afe..07bd1c81 100644 --- a/src/sigrok.c +++ b/src/sigrok.c @@ -247,10 +247,10 @@ static int sigrok_init_driver(struct config_device *cfdev, } cfdev->sdi = devlist->data; g_slist_free(devlist); - snprintf(hwident, sizeof(hwident), "%s %s %s", - cfdev->sdi->vendor ? cfdev->sdi->vendor : "", - cfdev->sdi->model ? cfdev->sdi->model : "", - cfdev->sdi->version ? cfdev->sdi->version : ""); + ssnprintf(hwident, sizeof(hwident), "%s %s %s", + cfdev->sdi->vendor ? cfdev->sdi->vendor : "", + cfdev->sdi->model ? cfdev->sdi->model : "", + cfdev->sdi->version ? cfdev->sdi->version : ""); INFO("sigrok plugin: Device \"%s\" is a %s", cfdev->name, hwident); if (sr_dev_open(cfdev->sdi) != SR_OK) diff --git a/src/smart.c b/src/smart.c index 2dfb924f..627c16d5 100644 --- a/src/smart.c +++ b/src/smart.c @@ -116,9 +116,9 @@ static void handle_attribute(SkDisk *d, const SkSmartAttributeParsedData *a, sstrncpy(notif.host, hostname_g, sizeof(notif.host)); sstrncpy(notif.plugin_instance, name, sizeof(notif.plugin_instance)); sstrncpy(notif.type_instance, a->name, sizeof(notif.type_instance)); - snprintf(notif.message, sizeof(notif.message), - "attribute %s is below allowed threshold (%d < %d)", a->name, - a->current_value, a->threshold); + ssnprintf(notif.message, sizeof(notif.message), + "attribute %s is below allowed threshold (%d < %d)", a->name, + a->current_value, a->threshold); plugin_dispatch_notification(¬if); } } diff --git a/src/snmp.c b/src/snmp.c index c921e028..aeb04fdd 100644 --- a/src/snmp.c +++ b/src/snmp.c @@ -171,7 +171,7 @@ static int csnmp_oid_to_string(char *buffer, size_t buffer_size, char *oid_str_ptr[MAX_OID_LEN]; for (size_t i = 0; i < o->oid_len; i++) { - snprintf(oid_str[i], sizeof(oid_str[i]), "%lu", (unsigned long)o->oid[i]); + ssnprintf(oid_str[i], sizeof(oid_str[i]), "%lu", (unsigned long)o->oid[i]); oid_str_ptr[i] = oid_str[i]; } @@ -871,12 +871,13 @@ static int csnmp_config_add_host(oconfig_item_t *ci) { "= %i }", hd->name, hd->address, hd->community, hd->version); - snprintf(cb_name, sizeof(cb_name), "snmp-%s", hd->name); + ssnprintf(cb_name, sizeof(cb_name), "snmp-%s", hd->name); status = plugin_register_complex_read( /* group = */ NULL, cb_name, csnmp_read_host, interval, &(user_data_t){ - .data = hd, .free_func = csnmp_host_definition_destroy, + .data = hd, + .free_func = csnmp_host_definition_destroy, }); if (status != 0) { ERROR("snmp plugin: Registering complex read function failed."); @@ -1140,8 +1141,8 @@ static int csnmp_strvbcopy_hexstring(char *dst, /* {{{ */ for (size_t i = 0; i < vb->val_len; i++) { int status; - status = snprintf(buffer_ptr, buffer_free, (i == 0) ? "%02x" : ":%02x", - (unsigned int)vb->val.bitstring[i]); + status = ssnprintf(buffer_ptr, buffer_free, (i == 0) ? "%02x" : ":%02x", + (unsigned int)vb->val.bitstring[i]); assert(status >= 0); if (((size_t)status) >= buffer_free) /* truncated */ @@ -1173,10 +1174,10 @@ static int csnmp_strvbcopy(char *dst, /* {{{ */ else if (vb->type == ASN_BIT_STR) src = (char *)vb->val.bitstring; else if (vb->type == ASN_IPADDRESS) { - return snprintf(dst, dst_size, - "%" PRIu8 ".%" PRIu8 ".%" PRIu8 ".%" PRIu8 "", - (uint8_t)vb->val.string[0], (uint8_t)vb->val.string[1], - (uint8_t)vb->val.string[2], (uint8_t)vb->val.string[3]); + return ssnprintf(dst, dst_size, + "%" PRIu8 ".%" PRIu8 ".%" PRIu8 ".%" PRIu8 "", + (uint8_t)vb->val.string[0], (uint8_t)vb->val.string[1], + (uint8_t)vb->val.string[2], (uint8_t)vb->val.string[3]); } else { dst[0] = 0; return EINVAL; @@ -1234,7 +1235,7 @@ static csnmp_cell_char_t *csnmp_get_char_cell(const struct variable_list *vb, value_t val = csnmp_value_list_to_value( vb, DS_TYPE_COUNTER, /* scale = */ 1.0, /* shift = */ 0.0, hd->name, dd->name); - snprintf(il->value, sizeof(il->value), "%" PRIu64, (uint64_t)val.counter); + ssnprintf(il->value, sizeof(il->value), "%" PRIu64, (uint64_t)val.counter); } return il; @@ -1479,7 +1480,7 @@ static int csnmp_dispatch_table(host_definition_t *host, if (data->host.prefix == NULL) sstrncpy(vl.host, temp, sizeof(vl.host)); else - snprintf(vl.host, sizeof(vl.host), "%s%s", data->host.prefix, temp); + ssnprintf(vl.host, sizeof(vl.host), "%s%s", data->host.prefix, temp); } else { sstrncpy(vl.host, host->name, sizeof(vl.host)); } @@ -1495,8 +1496,8 @@ static int csnmp_dispatch_table(host_definition_t *host, if (data->type_instance.prefix == NULL) sstrncpy(vl.type_instance, temp, sizeof(vl.type_instance)); else - snprintf(vl.type_instance, sizeof(vl.type_instance), "%s%s", - data->type_instance.prefix, temp); + ssnprintf(vl.type_instance, sizeof(vl.type_instance), "%s%s", + data->type_instance.prefix, temp); } else if (data->type_instance.value) { sstrncpy(vl.type_instance, data->type_instance.value, sizeof(vl.type_instance)); @@ -1513,8 +1514,8 @@ static int csnmp_dispatch_table(host_definition_t *host, if (data->plugin_instance.prefix == NULL) sstrncpy(vl.plugin_instance, temp, sizeof(vl.plugin_instance)); else - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s%s", - data->plugin_instance.prefix, temp); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s%s", + data->plugin_instance.prefix, temp); } else if (data->plugin_instance.value) { sstrncpy(vl.plugin_instance, data->plugin_instance.value, sizeof(vl.plugin_instance)); diff --git a/src/snmp_agent.c b/src/snmp_agent.c index cbd33664..bb4a7e42 100644 --- a/src/snmp_agent.c +++ b/src/snmp_agent.c @@ -172,7 +172,7 @@ static int snmp_agent_oid_to_string(char *buf, size_t buf_size, char *oid_str_ptr[MAX_OID_LEN]; for (size_t i = 0; i < o->oid_len; i++) { - snprintf(oid_str[i], sizeof(oid_str[i]), "%lu", (unsigned long)o->oid[i]); + ssnprintf(oid_str[i], sizeof(oid_str[i]), "%lu", (unsigned long)o->oid[i]); oid_str_ptr[i] = oid_str[i]; } @@ -736,13 +736,14 @@ static void snmp_agent_table_data_remove(data_definition_t *dd, if (index == NULL) snmp_agent_oid_to_string(index_str, sizeof(index_str), index_oid); else - snprintf(index_str, sizeof(index_str), "%d", *index); + ssnprintf(index_str, sizeof(index_str), "%d", *index); notification_t n = { .severity = NOTIF_WARNING, .time = cdtime(), .plugin = PLUGIN_NAME}; sstrncpy(n.host, hostname_g, sizeof(n.host)); - snprintf(n.message, sizeof(n.message), - "Removed data row from table %s with index %s", td->name, index_str); + ssnprintf(n.message, sizeof(n.message), + "Removed data row from table %s with index %s", td->name, + index_str); DEBUG(PLUGIN_NAME ": %s", n.message); plugin_dispatch_notification(&n); @@ -960,7 +961,7 @@ static int snmp_agent_build_name(char **name, c_avl_tree_t *tokens) { strncat(out, tok->str, DATA_MAX_NAME_LEN - strlen(out) - 1); if (tok->key != NULL) { if (tok->key->type == ASN_INTEGER) { - snprintf(str, sizeof(str), "%ld", *tok->key->val.integer); + ssnprintf(str, sizeof(str), "%ld", *tok->key->val.integer); strncat(out, str, DATA_MAX_NAME_LEN - strlen(out) - 1); } else /* OCTET_STR */ strncat(out, (char *)tok->key->val.string, @@ -1013,7 +1014,7 @@ static int snmp_agent_format_name(char *name, int name_len, } if (td->index_keys[i].type == ASN_INTEGER) { - snprintf(str, sizeof(str), "%ld", *key->val.integer); + ssnprintf(str, sizeof(str), "%ld", *key->val.integer); fields[source] = str; } else /* OCTET_STR */ fields[source] = (char *)key->val.string; @@ -1836,7 +1837,7 @@ static int snmp_agent_set_vardata(void *data, size_t *data_len, u_char asn_type, case ASN_OCTET_STR: if (type == DS_TYPE_GAUGE) { char buf[DATA_MAX_NAME_LEN]; - snprintf(buf, sizeof(buf), "%.2f", val->gauge); + ssnprintf(buf, sizeof(buf), "%.2f", val->gauge); if (*data_len < strlen(buf)) return -EINVAL; *data_len = strlen(buf); @@ -1995,13 +1996,13 @@ static int snmp_agent_update_index(data_definition_t *dd, if (index == NULL) snmp_agent_oid_to_string(index_str, sizeof(index_str), index_oid); else - snprintf(index_str, sizeof(index_str), "%d", *index); + ssnprintf(index_str, sizeof(index_str), "%d", *index); notification_t n = { .severity = NOTIF_OKAY, .time = cdtime(), .plugin = PLUGIN_NAME}; sstrncpy(n.host, hostname_g, sizeof(n.host)); - snprintf(n.message, sizeof(n.message), - "Data added to table %s with index %s", td->name, index_str); + ssnprintf(n.message, sizeof(n.message), + "Data added to table %s with index %s", td->name, index_str); DEBUG(PLUGIN_NAME ": %s", n.message); plugin_dispatch_notification(&n); diff --git a/src/threshold.c b/src/threshold.c index a3d865ba..e74dfc2c 100644 --- a/src/threshold.c +++ b/src/threshold.c @@ -335,22 +335,22 @@ static int ut_report_state(const data_set_t *ds, const value_list_t *vl, n.time = vl->time; - status = snprintf(buf, bufsize, "Host %s, plugin %s", vl->host, vl->plugin); + status = ssnprintf(buf, bufsize, "Host %s, plugin %s", vl->host, vl->plugin); buf += status; bufsize -= status; if (vl->plugin_instance[0] != '\0') { - status = snprintf(buf, bufsize, " (instance %s)", vl->plugin_instance); + status = ssnprintf(buf, bufsize, " (instance %s)", vl->plugin_instance); buf += status; bufsize -= status; } - status = snprintf(buf, bufsize, " type %s", vl->type); + status = ssnprintf(buf, bufsize, " type %s", vl->type); buf += status; bufsize -= status; if (vl->type_instance[0] != '\0') { - status = snprintf(buf, bufsize, " (instance %s)", vl->type_instance); + status = ssnprintf(buf, bufsize, " (instance %s)", vl->type_instance); buf += status; bufsize -= status; } @@ -365,11 +365,12 @@ static int ut_report_state(const data_set_t *ds, const value_list_t *vl, /* Send an okay notification */ if (state == STATE_OKAY) { if (state_old == STATE_MISSING) - snprintf(buf, bufsize, ": Value is no longer missing."); + ssnprintf(buf, bufsize, ": Value is no longer missing."); else - snprintf(buf, bufsize, ": All data sources are within range again. " - "Current value of \"%s\" is %f.", - ds->ds[ds_index].name, values[ds_index]); + ssnprintf(buf, bufsize, + ": All data sources are within range again. " + "Current value of \"%s\" is %f.", + ds->ds[ds_index].name, values[ds_index]); } else if (state == STATE_UNKNOWN) { ERROR("ut_report_state: metric transition to UNKNOWN from a different " "state. This shouldn't happen."); @@ -383,21 +384,22 @@ static int ut_report_state(const data_set_t *ds, const value_list_t *vl, if (th->flags & UT_FLAG_INVERT) { if (!isnan(min) && !isnan(max)) { - snprintf(buf, bufsize, - ": Data source \"%s\" is currently " - "%f. That is within the %s region of %f%s and %f%s.", - ds->ds[ds_index].name, values[ds_index], - (state == STATE_ERROR) ? "failure" : "warning", min, - ((th->flags & UT_FLAG_PERCENTAGE) != 0) ? "%" : "", max, - ((th->flags & UT_FLAG_PERCENTAGE) != 0) ? "%" : ""); + ssnprintf(buf, bufsize, + ": Data source \"%s\" is currently " + "%f. That is within the %s region of %f%s and %f%s.", + ds->ds[ds_index].name, values[ds_index], + (state == STATE_ERROR) ? "failure" : "warning", min, + ((th->flags & UT_FLAG_PERCENTAGE) != 0) ? "%" : "", max, + ((th->flags & UT_FLAG_PERCENTAGE) != 0) ? "%" : ""); } else { - snprintf(buf, bufsize, ": Data source \"%s\" is currently " - "%f. That is %s the %s threshold of %f%s.", - ds->ds[ds_index].name, values[ds_index], - isnan(min) ? "below" : "above", - (state == STATE_ERROR) ? "failure" : "warning", - isnan(min) ? max : min, - ((th->flags & UT_FLAG_PERCENTAGE) != 0) ? "%" : ""); + ssnprintf(buf, bufsize, + ": Data source \"%s\" is currently " + "%f. That is %s the %s threshold of %f%s.", + ds->ds[ds_index].name, values[ds_index], + isnan(min) ? "below" : "above", + (state == STATE_ERROR) ? "failure" : "warning", + isnan(min) ? max : min, + ((th->flags & UT_FLAG_PERCENTAGE) != 0) ? "%" : ""); } } else if (th->flags & UT_FLAG_PERCENTAGE) { gauge_t value; @@ -416,21 +418,22 @@ static int ut_report_state(const data_set_t *ds, const value_list_t *vl, else value = 100.0 * values[ds_index] / sum; - snprintf(buf, bufsize, - ": Data source \"%s\" is currently " - "%g (%.2f%%). That is %s the %s threshold of %.2f%%.", - ds->ds[ds_index].name, values[ds_index], value, - (value < min) ? "below" : "above", - (state == STATE_ERROR) ? "failure" : "warning", - (value < min) ? min : max); + ssnprintf(buf, bufsize, + ": Data source \"%s\" is currently " + "%g (%.2f%%). That is %s the %s threshold of %.2f%%.", + ds->ds[ds_index].name, values[ds_index], value, + (value < min) ? "below" : "above", + (state == STATE_ERROR) ? "failure" : "warning", + (value < min) ? min : max); } else /* is not inverted */ { - snprintf(buf, bufsize, ": Data source \"%s\" is currently " - "%f. That is %s the %s threshold of %f.", - ds->ds[ds_index].name, values[ds_index], - (values[ds_index] < min) ? "below" : "above", - (state == STATE_ERROR) ? "failure" : "warning", - (values[ds_index] < min) ? min : max); + ssnprintf(buf, bufsize, + ": Data source \"%s\" is currently " + "%f. That is %s the %s threshold of %f.", + ds->ds[ds_index].name, values[ds_index], + (values[ds_index] < min) ? "below" : "above", + (state == STATE_ERROR) ? "failure" : "warning", + (values[ds_index] < min) ? min : max); } } @@ -689,9 +692,9 @@ static int ut_missing(const value_list_t *vl, FORMAT_VL(identifier, sizeof(identifier), vl); NOTIFICATION_INIT_VL(&n, vl); - snprintf(n.message, sizeof(n.message), - "%s has not been updated for %.3f seconds.", identifier, - CDTIME_T_TO_DOUBLE(missing_time)); + ssnprintf(n.message, sizeof(n.message), + "%s has not been updated for %.3f seconds.", identifier, + CDTIME_T_TO_DOUBLE(missing_time)); n.time = now; plugin_dispatch_notification(&n); diff --git a/src/utils/cmds/cmds_test.c b/src/utils/cmds/cmds_test.c index 4f449a37..edbf5c95 100644 --- a/src/utils/cmds/cmds_test.c +++ b/src/utils/cmds/cmds_test.c @@ -295,14 +295,14 @@ DEF_TEST(parse) { memset(&cmd, 0, sizeof(cmd)); status = cmd_parse(input, &cmd, parse_data[i].opts, &err); - snprintf(description, sizeof(description), - "cmd_parse (\"%s\", opts=%p) = " - "%d (type=%d [%s]); want %d " - "(type=%d [%s])", - parse_data[i].input, parse_data[i].opts, status, cmd.type, - CMD_TO_STRING(cmd.type), parse_data[i].expected_status, - parse_data[i].expected_type, - CMD_TO_STRING(parse_data[i].expected_type)); + ssnprintf(description, sizeof(description), + "cmd_parse (\"%s\", opts=%p) = " + "%d (type=%d [%s]); want %d " + "(type=%d [%s])", + parse_data[i].input, parse_data[i].opts, status, cmd.type, + CMD_TO_STRING(cmd.type), parse_data[i].expected_status, + parse_data[i].expected_type, + CMD_TO_STRING(parse_data[i].expected_type)); result = (status == parse_data[i].expected_status) && (cmd.type == parse_data[i].expected_type); LOG(result, description); diff --git a/src/utils/common/common.c b/src/utils/common/common.c index d15f9b7c..6ee4e081 100644 --- a/src/utils/common/common.c +++ b/src/utils/common/common.c @@ -25,7 +25,7 @@ * Niki W. Waibel * Sebastian Harl * Michał Mirosław -**/ + **/ #include "collectd.h" @@ -89,6 +89,22 @@ char *sstrncpy(char *dest, const char *src, size_t n) { return dest; } /* char *sstrncpy */ +/* ssnprintf returns zero on success, one if truncation occurred + and a negative integer onerror. */ +int ssnprintf(char *str, size_t sz, const char *format, ...) { + va_list ap; + va_start(ap, format); + + int ret = vsnprintf(str, sz, format, ap); + + va_end(ap); + + if (ret < 0) { + return ret; + } + return (size_t)ret >= sz; +} /* int ssnprintf */ + char *ssnprintf_alloc(char const *format, ...) /* {{{ */ { char static_buffer[1024] = ""; @@ -721,9 +737,8 @@ long long get_kstat_value(kstat_t *ksp, char *name) { else if (kn->data_type == KSTAT_DATA_UINT32) retval = (long long)kn->value.ui32; else if (kn->data_type == KSTAT_DATA_INT64) - retval = - (long long)kn->value.i64; /* According to ANSI C99 `long long' must hold - at least 64 bits */ + retval = (long long)kn->value.i64; /* According to ANSI C99 `long long' must + hold at least 64 bits */ else if (kn->data_type == KSTAT_DATA_UINT64) retval = (long long)kn->value.ui64; /* XXX: Might overflow! */ else diff --git a/src/utils/common/common.h b/src/utils/common/common.h index addf06d3..1ca65054 100644 --- a/src/utils/common/common.h +++ b/src/utils/common/common.h @@ -23,7 +23,7 @@ * Authors: * Florian octo Forster * Niki W. Waibel -**/ + **/ #ifndef COMMON_H #define COMMON_H @@ -66,6 +66,9 @@ typedef struct value_to_rate_state_s value_to_rate_state_t; char *sstrncpy(char *dest, const char *src, size_t n); +__attribute__((format(printf, 3, 4))) int ssnprintf(char *str, size_t size, + char const *format, ...); + __attribute__((format(printf, 1, 2))) char *ssnprintf_alloc(char const *format, ...); diff --git a/src/utils/config_cores/config_cores.c b/src/utils/config_cores/config_cores.c index 13ea6878..b6dedbc9 100644 --- a/src/utils/config_cores/config_cores.c +++ b/src/utils/config_cores/config_cores.c @@ -254,7 +254,7 @@ int config_cores_parse(const oconfig_item_t *ci, core_groups_list_t *cgl) { } else { for (size_t j = 0; j < n && cg_idx < STATIC_ARRAY_SIZE(cgroups); j++) { char desc[DATA_MAX_NAME_LEN]; - snprintf(desc, sizeof(desc), "%u", cores[j]); + ssnprintf(desc, sizeof(desc), "%u", cores[j]); cgroups[cg_idx].desc = strdup(desc); if (cgroups[cg_idx].desc == NULL) { @@ -313,7 +313,7 @@ int config_cores_default(int num_cores, core_groups_list_t *cgl) { for (int i = 0; i < num_cores; i++) { char desc[DATA_MAX_NAME_LEN]; - snprintf(desc, sizeof(desc), "%d", i); + ssnprintf(desc, sizeof(desc), "%d", i); cgl->cgroups[i].cores = calloc(1, sizeof(*(cgl->cgroups[i].cores))); if (cgl->cgroups[i].cores == NULL) { diff --git a/src/utils/db_query/db_query.c b/src/utils/db_query/db_query.c index 392bd56f..fa43fe56 100644 --- a/src/utils/db_query/db_query.c +++ b/src/utils/db_query/db_query.c @@ -228,8 +228,8 @@ static int udb_result_submit(udb_result_t *r, /* {{{ */ } tmp[sizeof(tmp) - 1] = '\0'; - snprintf(vl.type_instance, sizeof(vl.type_instance), "%s-%s", - r->instance_prefix, tmp); + ssnprintf(vl.type_instance, sizeof(vl.type_instance), "%s-%s", + r->instance_prefix, tmp); } } vl.type_instance[sizeof(vl.type_instance) - 1] = '\0'; diff --git a/src/utils/dns/dns.c b/src/utils/dns/dns.c index fb5cb4fb..981828d7 100644 --- a/src/utils/dns/dns.c +++ b/src/utils/dns/dns.c @@ -466,7 +466,7 @@ static int handle_ipv6(struct ip6_hdr *ipv6, int len) { return 1; /* Success */ } /* int handle_ipv6 */ -/* #endif HAVE_IPV6 */ + /* #endif HAVE_IPV6 */ #else /* if !HAVE_IPV6 */ static int handle_ipv6(__attribute__((unused)) void *pkg, @@ -837,7 +837,7 @@ const char *qtype_str(int t) { case 32769: return "DLV"; default: - snprintf(buf, sizeof(buf), "#%i", t); + ssnprintf(buf, sizeof(buf), "#%i", t); return buf; } /* switch (t) */ } @@ -856,7 +856,7 @@ const char *opcode_str(int o) { case 5: return "Update"; default: - snprintf(buf, sizeof(buf), "Opcode%d", o); + ssnprintf(buf, sizeof(buf), "Opcode%d", o); return buf; } } @@ -904,7 +904,7 @@ const char *rcode_str(int rcode) { case 18: return "BADTIME"; default: - snprintf(buf, sizeof(buf), "RCode%i", rcode); + ssnprintf(buf, sizeof(buf), "RCode%i", rcode); return buf; } } /* const char *rcode_str (int rcode) */ diff --git a/src/utils/dpdk/dpdk.c b/src/utils/dpdk/dpdk.c index 5e38ab36..7d9f7abc 100644 --- a/src/utils/dpdk/dpdk.c +++ b/src/utils/dpdk/dpdk.c @@ -110,10 +110,10 @@ static void dpdk_helper_config_default(dpdk_helper_ctx_t *phc) { DPDK_HELPER_TRACE(phc->shm_name); - snprintf(phc->eal_config.coremask, DATA_MAX_NAME_LEN, "%s", "0xf"); - snprintf(phc->eal_config.memory_channels, DATA_MAX_NAME_LEN, "%s", "1"); - snprintf(phc->eal_config.file_prefix, DATA_MAX_NAME_LEN, "%s", - DPDK_DEFAULT_RTE_CONFIG); + ssnprintf(phc->eal_config.coremask, DATA_MAX_NAME_LEN, "%s", "0xf"); + ssnprintf(phc->eal_config.memory_channels, DATA_MAX_NAME_LEN, "%s", "1"); + ssnprintf(phc->eal_config.file_prefix, DATA_MAX_NAME_LEN, "%s", + DPDK_DEFAULT_RTE_CONFIG); } int dpdk_helper_eal_config_set(dpdk_helper_ctx_t *phc, dpdk_eal_config_t *ec) { @@ -189,11 +189,11 @@ int dpdk_helper_eal_config_parse(dpdk_helper_ctx_t *phc, oconfig_item_t *ci) { status = cf_util_get_string_buffer(child, prefix, sizeof(prefix)); if (status == 0) { #if RTE_VERSION <= RTE_VERSION_NUM(18, 5, 0, 0) - snprintf(phc->eal_config.file_prefix, DATA_MAX_NAME_LEN, - "/var/run/.%s_config", prefix); + ssnprintf(phc->eal_config.file_prefix, DATA_MAX_NAME_LEN, + "/var/run/.%s_config", prefix); #else - snprintf(phc->eal_config.file_prefix, DATA_MAX_NAME_LEN, - "/var/run/dpdk/%s/config", prefix); + ssnprintf(phc->eal_config.file_prefix, DATA_MAX_NAME_LEN, + "/var/run/dpdk/%s/config", prefix); #endif DEBUG("dpdk_common: EAL:File prefix %s", phc->eal_config.file_prefix); } @@ -304,8 +304,8 @@ int dpdk_helper_init(const char *name, size_t data_size, DPDK_HELPER_TRACE(name); /* Allocate dpdk_helper_ctx_t and - * initialize a POSIX SHared Memory (SHM) object. - */ + * initialize a POSIX SHared Memory (SHM) object. + */ int err = dpdk_shm_init(name, shm_size, (void **)&phc); if (err != 0) { return -errno; @@ -704,7 +704,8 @@ static void dpdk_helper_check_pipe(dpdk_helper_ctx_t *phc) { /* non blocking check on helper logging pipe */ struct pollfd fds = { - .fd = phc->pipes[0], .events = POLLIN, + .fd = phc->pipes[0], + .events = POLLIN, }; int data_avail = poll(&fds, 1, 0); DEBUG("%s:dpdk_helper_check_pipe: poll data_avail=%d", phc->shm_name, diff --git a/src/utils/format_graphite/format_graphite_test.c b/src/utils/format_graphite/format_graphite_test.c index 2c14d010..e01317b2 100644 --- a/src/utils/format_graphite/format_graphite_test.c +++ b/src/utils/format_graphite/format_graphite_test.c @@ -154,7 +154,7 @@ DEF_TEST(metric_name) { }; char want[1024]; - snprintf(want, sizeof(want), "%s 42 1480063672\r\n", cases[i].want_name); + ssnprintf(want, sizeof(want), "%s 42 1480063672\r\n", cases[i].want_name); if (cases[i].plugin_instance != NULL) sstrncpy(vl.plugin_instance, cases[i].plugin_instance, diff --git a/src/utils/format_stackdriver/format_stackdriver.c b/src/utils/format_stackdriver/format_stackdriver.c index 80b85ae4..ccb1c77d 100644 --- a/src/utils/format_stackdriver/format_stackdriver.c +++ b/src/utils/format_stackdriver/format_stackdriver.c @@ -144,16 +144,16 @@ static int format_typed_value(yajl_gen gen, int ds_type, value_t v, } case DS_TYPE_DERIVE: { derive_t diff = v.derive - (derive_t)start_value; - snprintf(integer, sizeof(integer), "%" PRIi64, diff); + ssnprintf(integer, sizeof(integer), "%" PRIi64, diff); break; } case DS_TYPE_COUNTER: { counter_t diff = counter_diff((counter_t)start_value, v.counter); - snprintf(integer, sizeof(integer), "%llu", diff); + ssnprintf(integer, sizeof(integer), "%llu", diff); break; } case DS_TYPE_ABSOLUTE: { - snprintf(integer, sizeof(integer), "%" PRIu64, v.absolute); + ssnprintf(integer, sizeof(integer), "%" PRIu64, v.absolute); break; } default: { @@ -177,7 +177,7 @@ static int format_typed_value(yajl_gen gen, int ds_type, value_t v, * "CUMULATIVE", * "GAUGE" * ) -*/ + */ static int format_metric_kind(yajl_gen gen, int ds_type) { switch (ds_type) { case DS_TYPE_GAUGE: @@ -198,7 +198,7 @@ static int format_metric_kind(yajl_gen gen, int ds_type) { * "DOUBLE", * "INT64" * ) -*/ + */ static int format_value_type(yajl_gen gen, int ds_type) { return json_string(gen, (ds_type == DS_TYPE_GAUGE) ? "DOUBLE" : "INT64"); } @@ -210,10 +210,10 @@ static int metric_type(char *buffer, size_t buffer_size, data_set_t const *ds, #define GCM_PREFIX "custom.googleapis.com/collectd/" if ((ds_index != 0) || strcmp("value", ds_name) != 0) { - snprintf(buffer, buffer_size, GCM_PREFIX "%s/%s_%s", vl->plugin, vl->type, - ds_name); + ssnprintf(buffer, buffer_size, GCM_PREFIX "%s/%s_%s", vl->plugin, vl->type, + ds_name); } else { - snprintf(buffer, buffer_size, GCM_PREFIX "%s/%s", vl->plugin, vl->type); + ssnprintf(buffer, buffer_size, GCM_PREFIX "%s/%s", vl->plugin, vl->type); } char const *whitelist = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" @@ -280,8 +280,8 @@ static int read_cumulative_state(data_set_t const *ds, value_list_t const *vl, } char start_value_key[DATA_MAX_NAME_LEN]; - snprintf(start_value_key, sizeof(start_value_key), - "stackdriver:start_value[%d]", ds_index); + ssnprintf(start_value_key, sizeof(start_value_key), + "stackdriver:start_value[%d]", ds_index); int status = uc_meta_data_get_signed_int(vl, start_value_key, ret_start_value); diff --git a/src/utils/gce/gce.c b/src/utils/gce/gce.c index 80927656..48aacd98 100644 --- a/src/utils/gce/gce.c +++ b/src/utils/gce/gce.c @@ -227,8 +227,8 @@ char *gce_scope(char const *email) /* {{{ */ { char url[1024]; - snprintf(url, sizeof(url), GCE_SCOPE_URL_FORMAT, - (email != NULL) ? email : GCE_DEFAULT_SERVICE_ACCOUNT); + ssnprintf(url, sizeof(url), GCE_SCOPE_URL_FORMAT, + (email != NULL) ? email : GCE_DEFAULT_SERVICE_ACCOUNT); return read_url(url); } /* }}} char *gce_scope */ @@ -252,7 +252,7 @@ int gce_access_token(char const *email, char *buffer, return 0; } - snprintf(url, sizeof(url), GCE_TOKEN_URL_FORMAT, email); + ssnprintf(url, sizeof(url), GCE_TOKEN_URL_FORMAT, email); json = read_url(url); if (json == NULL) { pthread_mutex_unlock(&token_lock); diff --git a/src/utils/oauth/oauth.c b/src/utils/oauth/oauth.c index 4b31056d..a7ae75d0 100644 --- a/src/utils/oauth/oauth.c +++ b/src/utils/oauth/oauth.c @@ -184,9 +184,9 @@ static int get_claim(oauth_t *auth, char *buffer, size_t buffer_size) /* {{{ */ /* create the claim set */ status = - snprintf(claim, sizeof(claim), OAUTH_CLAIM_FORMAT, auth->iss, auth->scope, - auth->aud, (unsigned long)CDTIME_T_TO_TIME_T(exp), - (unsigned long)CDTIME_T_TO_TIME_T(iat)); + ssnprintf(claim, sizeof(claim), OAUTH_CLAIM_FORMAT, auth->iss, + auth->scope, auth->aud, (unsigned long)CDTIME_T_TO_TIME_T(exp), + (unsigned long)CDTIME_T_TO_TIME_T(iat)); if (status < 1) return -1; else if ((size_t)status >= sizeof(claim)) @@ -209,7 +209,7 @@ static int get_signature(char *buffer, size_t buffer_size, /* {{{ */ int status; /* Make the string to sign */ - payload_len = snprintf(payload, sizeof(payload), "%s.%s", header, claim); + payload_len = ssnprintf(payload, sizeof(payload), "%s.%s", header, claim); if (payload_len < 1) { return -1; } else if (payload_len >= sizeof(payload)) { @@ -277,7 +277,7 @@ static int get_assertion(oauth_t *auth, char *buffer, if (status != 0) return -1; - status = snprintf(buffer, buffer_size, "%s.%s.%s", header, claim, signature); + status = ssnprintf(buffer, buffer_size, "%s.%s.%s", header, claim, signature); if (status < 1) return -1; else if ((size_t)status >= buffer_size) @@ -350,8 +350,8 @@ static int new_token(oauth_t *auth) /* {{{ */ return -1; } - snprintf(post_data, sizeof(post_data), "grant_type=%s&assertion=%s", - OAUTH_GRANT_TYPE, assertion); + ssnprintf(post_data, sizeof(post_data), "grant_type=%s&assertion=%s", + OAUTH_GRANT_TYPE, assertion); curl = curl_easy_init(); if (curl == NULL) { @@ -531,7 +531,8 @@ oauth_google_t oauth_create_google_json(char const *buffer, char const *scope) { } oauth_google_t ret = { - .project_id = strdup(project_id), .oauth = oauth, + .project_id = strdup(project_id), + .oauth = oauth, }; yajl_tree_free(root); @@ -589,8 +590,8 @@ oauth_google_t oauth_create_google_default(char const *scope) { char const *home; if ((home = getenv("HOME")) != NULL) { char path[PATH_MAX]; - snprintf(path, sizeof(path), - "%s/.config/gcloud/application_default_credentials.json", home); + ssnprintf(path, sizeof(path), + "%s/.config/gcloud/application_default_credentials.json", home); oauth_google_t ret = oauth_create_google_file(path, scope); if (ret.oauth != NULL) { diff --git a/src/utils/ovs/ovs.c b/src/utils/ovs/ovs.c index 46c2c269..52a590b1 100644 --- a/src/utils/ovs/ovs.c +++ b/src/utils/ovs/ovs.c @@ -785,7 +785,9 @@ static void *ovs_poll_worker(void *arg) { ovs_db_t *pdb = (ovs_db_t *)arg; /* pointer to OVS DB */ ovs_json_reader_t *jreader = NULL; struct pollfd poll_fd = { - .fd = pdb->sock, .events = POLLIN | POLLPRI, .revents = 0, + .fd = pdb->sock, + .events = POLLIN | POLLPRI, + .revents = 0, }; /* create JSON reader instance */ @@ -1117,7 +1119,7 @@ int ovs_db_send_request(ovs_db_t *pdb, const char *method, const char *params, /* generate id field */ OVS_YAJL_CALL(ovs_yajl_gen_tstring, jgen, "id"); uid = ovs_uid_generate(); - snprintf(uid_buff, sizeof(uid_buff), "%" PRIX64, uid); + ssnprintf(uid_buff, sizeof(uid_buff), "%" PRIX64, uid); OVS_YAJL_CALL(ovs_yajl_gen_tstring, jgen, uid_buff); OVS_YAJL_CALL(yajl_gen_map_close, jgen); @@ -1203,7 +1205,7 @@ int ovs_db_table_cb_register(ovs_db_t *pdb, const char *tb_name, OVS_YAJL_CALL(ovs_yajl_gen_tstring, jgen, OVS_DB_DEFAULT_DB_NAME); /* uid string */ - snprintf(uid_str, sizeof(uid_str), "%" PRIX64, new_cb->uid); + ssnprintf(uid_str, sizeof(uid_str), "%" PRIX64, new_cb->uid); OVS_YAJL_CALL(ovs_yajl_gen_tstring, jgen, uid_str); /* */ diff --git a/src/utils/rrdcreate/rrdcreate.c b/src/utils/rrdcreate/rrdcreate.c index ef012343..f543e11c 100644 --- a/src/utils/rrdcreate/rrdcreate.c +++ b/src/utils/rrdcreate/rrdcreate.c @@ -208,8 +208,8 @@ static int rra_get(char ***ret, const value_list_t *vl, /* {{{ */ if (rra_num >= rra_max) break; - status = snprintf(buffer, sizeof(buffer), "RRA:%s:%.10f:%u:%u", - rra_types[j], cfg->xff, cdp_len, cdp_num); + status = ssnprintf(buffer, sizeof(buffer), "RRA:%s:%.10f:%u:%u", + rra_types[j], cfg->xff, cdp_len, cdp_num); if ((status < 0) || ((size_t)status >= sizeof(buffer))) { P_ERROR("rra_get: Buffer would have been truncated."); @@ -278,14 +278,14 @@ static int ds_get(char ***ret, /* {{{ */ if (isnan(d->min)) { sstrncpy(min, "U", sizeof(min)); } else - snprintf(min, sizeof(min), "%f", d->min); + ssnprintf(min, sizeof(min), "%f", d->min); if (isnan(d->max)) { sstrncpy(max, "U", sizeof(max)); } else - snprintf(max, sizeof(max), "%f", d->max); + ssnprintf(max, sizeof(max), "%f", d->max); - status = snprintf( + status = ssnprintf( buffer, sizeof(buffer), "DS:%s:%s:%i:%s:%s", d->name, type, (cfg->heartbeat > 0) ? cfg->heartbeat : (int)CDTIME_T_TO_TIME_T(2 * vl->interval), @@ -343,7 +343,7 @@ static int srrd_create(const char *filename, /* {{{ */ return status; } /* }}} int srrd_create */ -/* #endif HAVE_THREADSAFE_LIBRRD */ + /* #endif HAVE_THREADSAFE_LIBRRD */ #else /* !HAVE_THREADSAFE_LIBRRD */ static int srrd_create(const char *filename, /* {{{ */ @@ -367,8 +367,8 @@ static int srrd_create(const char *filename, /* {{{ */ if (last_up == 0) last_up = time(NULL) - 10; - snprintf(pdp_step_str, sizeof(pdp_step_str), "%lu", pdp_step); - snprintf(last_up_str, sizeof(last_up_str), "%lu", (unsigned long)last_up); + ssnprintf(pdp_step_str, sizeof(pdp_step_str), "%lu", pdp_step); + ssnprintf(last_up_str, sizeof(last_up_str), "%lu", (unsigned long)last_up); new_argv[0] = "create"; new_argv[1] = (void *)filename; @@ -496,7 +496,7 @@ static void *srrd_create_thread(void *targs) /* {{{ */ return 0; } - snprintf(tmpfile, sizeof(tmpfile), "%s.async", args->filename); + ssnprintf(tmpfile, sizeof(tmpfile), "%s.async", args->filename); status = srrd_create(tmpfile, args->pdp_step, args->last_up, args->argc, (void *)args->argv); diff --git a/src/varnish.c b/src/varnish.c index b4ae4385..f4c70af8 100644 --- a/src/varnish.c +++ b/src/varnish.c @@ -107,8 +107,8 @@ static int varnish_submit(const char *plugin_instance, /* {{{ */ if (plugin_instance == NULL) plugin_instance = "default"; - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s-%s", - plugin_instance, category); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s-%s", + plugin_instance, category); sstrncpy(vl.type, type, sizeof(vl.type)); @@ -1546,7 +1546,8 @@ static int varnish_init(void) /* {{{ */ /* callback = */ varnish_read, /* interval = */ 0, &(user_data_t){ - .data = conf, .free_func = varnish_config_free, + .data = conf, + .free_func = varnish_config_free, }); return 0; @@ -1751,7 +1752,7 @@ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */ !conf->collect_mgt && !conf->collect_lck && !conf->collect_mempool && !conf->collect_mse #endif - ) { + ) { WARNING("Varnish plugin: No metric has been configured for " "instance \"%s\". Disabling this instance.", (conf->instance == NULL) ? "localhost" : conf->instance); @@ -1759,8 +1760,8 @@ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */ return EINVAL; } - snprintf(callback_name, sizeof(callback_name), "varnish/%s", - (conf->instance == NULL) ? "localhost" : conf->instance); + ssnprintf(callback_name, sizeof(callback_name), "varnish/%s", + (conf->instance == NULL) ? "localhost" : conf->instance); plugin_register_complex_read( /* group = */ "varnish", @@ -1768,7 +1769,8 @@ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */ /* callback = */ varnish_read, /* interval = */ 0, &(user_data_t){ - .data = conf, .free_func = varnish_config_free, + .data = conf, + .free_func = varnish_config_free, }); have_instance = true; diff --git a/src/virt.c b/src/virt.c index b9b224e1..5c894c2a 100644 --- a/src/virt.c +++ b/src/virt.c @@ -131,16 +131,16 @@ static bool report_network_interfaces = true; static virt_notif_thread_t notif_thread; const char *domain_states[] = { - [VIR_DOMAIN_NOSTATE] = "no state", - [VIR_DOMAIN_RUNNING] = "the domain is running", - [VIR_DOMAIN_BLOCKED] = "the domain is blocked on resource", - [VIR_DOMAIN_PAUSED] = "the domain is paused by user", - [VIR_DOMAIN_SHUTDOWN] = "the domain is being shut down", - [VIR_DOMAIN_SHUTOFF] = "the domain is shut off", - [VIR_DOMAIN_CRASHED] = "the domain is crashed", + [VIR_DOMAIN_NOSTATE] = "no state", + [VIR_DOMAIN_RUNNING] = "the domain is running", + [VIR_DOMAIN_BLOCKED] = "the domain is blocked on resource", + [VIR_DOMAIN_PAUSED] = "the domain is paused by user", + [VIR_DOMAIN_SHUTDOWN] = "the domain is being shut down", + [VIR_DOMAIN_SHUTOFF] = "the domain is shut off", + [VIR_DOMAIN_CRASHED] = "the domain is crashed", #ifdef HAVE_DOM_STATE_PMSUSPENDED - [VIR_DOMAIN_PMSUSPENDED] = - "the domain is suspended by guest power management", + [VIR_DOMAIN_PMSUSPENDED] = + "the domain is suspended by guest power management", #endif }; @@ -352,107 +352,99 @@ static int map_domain_event_detail_to_reason(int event, int detail) { #define DOMAIN_STATE_REASON_MAX_SIZE 20 const char *domain_reasons[][DOMAIN_STATE_REASON_MAX_SIZE] = { - [VIR_DOMAIN_NOSTATE][VIR_DOMAIN_NOSTATE_UNKNOWN] = - "the reason is unknown", - - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_UNKNOWN] = - "the reason is unknown", - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_BOOTED] = - "normal startup from boot", - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_MIGRATED] = - "migrated from another host", - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_RESTORED] = - "restored from a state file", - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_FROM_SNAPSHOT] = - "restored from snapshot", - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_UNPAUSED] = - "returned from paused state", - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_MIGRATION_CANCELED] = - "returned from migration", - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_SAVE_CANCELED] = - "returned from failed save process", + [VIR_DOMAIN_NOSTATE][VIR_DOMAIN_NOSTATE_UNKNOWN] = "the reason is unknown", + + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_UNKNOWN] = "the reason is unknown", + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_BOOTED] = + "normal startup from boot", + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_MIGRATED] = + "migrated from another host", + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_RESTORED] = + "restored from a state file", + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_FROM_SNAPSHOT] = + "restored from snapshot", + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_UNPAUSED] = + "returned from paused state", + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_MIGRATION_CANCELED] = + "returned from migration", + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_SAVE_CANCELED] = + "returned from failed save process", #ifdef HAVE_DOM_REASON_RUNNING_WAKEUP - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_WAKEUP] = - "returned from pmsuspended due to wakeup event", + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_WAKEUP] = + "returned from pmsuspended due to wakeup event", #endif #ifdef HAVE_DOM_REASON_CRASHED - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_CRASHED] = - "resumed from crashed", + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_CRASHED] = "resumed from crashed", #endif #ifdef HAVE_DOM_REASON_POSTCOPY - [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_POSTCOPY] = - "running in post-copy migration mode", -#endif - [VIR_DOMAIN_BLOCKED][VIR_DOMAIN_BLOCKED_UNKNOWN] = - "the reason is unknown", - - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_UNKNOWN] = - "the reason is unknown", - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_USER] = "paused on user request", - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_MIGRATION] = - "paused for offline migration", - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_SAVE] = "paused for save", - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_DUMP] = - "paused for offline core dump", - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_IOERROR] = - "paused due to a disk I/O error", - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_WATCHDOG] = - "paused due to a watchdog event", - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_FROM_SNAPSHOT] = - "paused after restoring from snapshot", + [VIR_DOMAIN_RUNNING][VIR_DOMAIN_RUNNING_POSTCOPY] = + "running in post-copy migration mode", +#endif + [VIR_DOMAIN_BLOCKED][VIR_DOMAIN_BLOCKED_UNKNOWN] = "the reason is unknown", + + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_UNKNOWN] = "the reason is unknown", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_USER] = "paused on user request", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_MIGRATION] = + "paused for offline migration", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_SAVE] = "paused for save", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_DUMP] = + "paused for offline core dump", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_IOERROR] = + "paused due to a disk I/O error", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_WATCHDOG] = + "paused due to a watchdog event", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_FROM_SNAPSHOT] = + "paused after restoring from snapshot", #ifdef HAVE_DOM_REASON_PAUSED_SHUTTING_DOWN - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_SHUTTING_DOWN] = - "paused during shutdown process", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_SHUTTING_DOWN] = + "paused during shutdown process", #endif #ifdef HAVE_DOM_REASON_PAUSED_SNAPSHOT - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_SNAPSHOT] = - "paused while creating a snapshot", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_SNAPSHOT] = + "paused while creating a snapshot", #endif #ifdef HAVE_DOM_REASON_PAUSED_CRASHED - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_CRASHED] = - "paused due to a guest crash", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_CRASHED] = + "paused due to a guest crash", #endif #ifdef HAVE_DOM_REASON_PAUSED_STARTING_UP - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_STARTING_UP] = - "the domain is being started", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_STARTING_UP] = + "the domain is being started", #endif #ifdef HAVE_DOM_REASON_POSTCOPY - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_POSTCOPY] = - "paused for post-copy migration", - [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_POSTCOPY_FAILED] = - "paused after failed post-copy", -#endif - [VIR_DOMAIN_SHUTDOWN][VIR_DOMAIN_SHUTDOWN_UNKNOWN] = - "the reason is unknown", - [VIR_DOMAIN_SHUTDOWN][VIR_DOMAIN_SHUTDOWN_USER] = - "shutting down on user request", - - [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_UNKNOWN] = - "the reason is unknown", - [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_SHUTDOWN] = "normal shutdown", - [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_DESTROYED] = "forced poweroff", - [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_CRASHED] = "domain crashed", - [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_MIGRATED] = - "migrated to another host", - [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_SAVED] = "saved to a file", - [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_FAILED] = - "domain failed to start", - [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_FROM_SNAPSHOT] = - "restored from a snapshot which was taken while domain was shutoff", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_POSTCOPY] = + "paused for post-copy migration", + [VIR_DOMAIN_PAUSED][VIR_DOMAIN_PAUSED_POSTCOPY_FAILED] = + "paused after failed post-copy", +#endif + [VIR_DOMAIN_SHUTDOWN][VIR_DOMAIN_SHUTDOWN_UNKNOWN] = + "the reason is unknown", + [VIR_DOMAIN_SHUTDOWN][VIR_DOMAIN_SHUTDOWN_USER] = + "shutting down on user request", + + [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_UNKNOWN] = "the reason is unknown", + [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_SHUTDOWN] = "normal shutdown", + [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_DESTROYED] = "forced poweroff", + [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_CRASHED] = "domain crashed", + [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_MIGRATED] = + "migrated to another host", + [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_SAVED] = "saved to a file", + [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_FAILED] = "domain failed to start", + [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_FROM_SNAPSHOT] = + "restored from a snapshot which was taken while domain was shutoff", #ifdef HAVE_DOM_REASON_SHUTOFF_DAEMON - [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_DAEMON] = - "daemon decides to kill domain during reconnection processing", + [VIR_DOMAIN_SHUTOFF][VIR_DOMAIN_SHUTOFF_DAEMON] = + "daemon decides to kill domain during reconnection processing", #endif - [VIR_DOMAIN_CRASHED][VIR_DOMAIN_CRASHED_UNKNOWN] = - "the reason is unknown", + [VIR_DOMAIN_CRASHED][VIR_DOMAIN_CRASHED_UNKNOWN] = "the reason is unknown", #ifdef VIR_DOMAIN_CRASHED_PANICKED - [VIR_DOMAIN_CRASHED][VIR_DOMAIN_CRASHED_PANICKED] = "domain panicked", + [VIR_DOMAIN_CRASHED][VIR_DOMAIN_CRASHED_PANICKED] = "domain panicked", #endif #ifdef HAVE_DOM_STATE_PMSUSPENDED - [VIR_DOMAIN_PMSUSPENDED][VIR_DOMAIN_PMSUSPENDED_UNKNOWN] = - "the reason is unknown", + [VIR_DOMAIN_PMSUSPENDED][VIR_DOMAIN_PMSUSPENDED_UNKNOWN] = + "the reason is unknown", #endif }; #endif /* HAVE_DOM_REASON */ @@ -742,7 +734,8 @@ static char *metadata_get_hostname(virDomainPtr dom) { const char *namespace = NULL; if (hm_ns == NULL) { namespace = "http://openstack.org/xmlns/libvirt/nova/1.0"; - } else { + } // namespace =hm_ns; + else { namespace = hm_ns; } @@ -957,7 +950,8 @@ static void memory_stats_submit(gauge_t value, virDomainPtr dom, static void submit_derive2(const char *type, derive_t v0, derive_t v1, virDomainPtr dom, const char *devname) { value_t values[] = { - {.derive = v0}, {.derive = v1}, + {.derive = v0}, + {.derive = v1}, }; submit(dom, type, devname, values, STATIC_ARRAY_SIZE(values)); @@ -1009,7 +1003,7 @@ static void vcpu_submit(derive_t value, virDomainPtr dom, int vcpu_nr, const char *type) { char type_instance[DATA_MAX_NAME_LEN]; - snprintf(type_instance, sizeof(type_instance), "%d", vcpu_nr); + ssnprintf(type_instance, sizeof(type_instance), "%d", vcpu_nr); submit(dom, type, type_instance, &(value_t){.derive = value}, 1); } @@ -1031,8 +1025,8 @@ static void disk_block_stats_submit(struct lv_block_stats *bstats, } char flush_type_instance[DATA_MAX_NAME_LEN]; - snprintf(flush_type_instance, sizeof(flush_type_instance), "flush-%s", - type_instance); + ssnprintf(flush_type_instance, sizeof(flush_type_instance), "flush-%s", + type_instance); if ((bstats->bi.rd_req != -1) && (bstats->bi.wr_req != -1)) submit_derive2("disk_ops", (derive_t)bstats->bi.rd_req, @@ -1135,8 +1129,8 @@ static void domain_state_submit_notif(virDomainPtr dom, int state, int reason) { const char *reason_str = "N/A"; #endif - snprintf(msg, sizeof(msg), "Domain state: %s. Reason: %s", state_str, - reason_str); + ssnprintf(msg, sizeof(msg), "Domain state: %s. Reason: %s", state_str, + reason_str); int severity; switch (state) { @@ -1592,7 +1586,8 @@ static void vcpu_pin_submit(virDomainPtr dom, int max_cpus, int vcpu, char type_instance[DATA_MAX_NAME_LEN]; bool is_set = VIR_CPU_USABLE(cpu_maps, cpu_map_len, vcpu, cpu); - snprintf(type_instance, sizeof(type_instance), "vcpu_%d-cpu_%d", vcpu, cpu); + ssnprintf(type_instance, sizeof(type_instance), "vcpu_%d-cpu_%d", vcpu, + cpu); submit(dom, "cpu_affinity", type_instance, &(value_t){.gauge = is_set}, 1); } } @@ -1717,7 +1712,8 @@ static int submit_domain_state(virDomainPtr domain) { } value_t values[] = { - {.gauge = (gauge_t)domain_state}, {.gauge = (gauge_t)domain_reason}, + {.gauge = (gauge_t)domain_state}, + {.gauge = (gauge_t)domain_reason}, }; submit(domain, "domain_state", NULL, values, STATIC_ARRAY_SIZE(values)); @@ -1801,7 +1797,8 @@ static int get_memory_stats(virDomainPtr domain) { if (min_flt > 0 || maj_flt > 0) { value_t values[] = { - {.gauge = (gauge_t)min_flt}, {.gauge = (gauge_t)maj_flt}, + {.gauge = (gauge_t)min_flt}, + {.gauge = (gauge_t)maj_flt}, }; submit(domain, "ps_pagefaults", NULL, values, STATIC_ARRAY_SIZE(values)); } @@ -2520,7 +2517,7 @@ static int lv_init_instance(size_t i, plugin_read_cb callback) { memset(lv_ud, 0, sizeof(*lv_ud)); - snprintf(inst->tag, sizeof(inst->tag), "%s-%" PRIsz, PLUGIN_NAME, i); + ssnprintf(inst->tag, sizeof(inst->tag), "%s-%" PRIsz, PLUGIN_NAME, i); inst->id = i; user_data_t *ud = &(lv_ud->ud); @@ -2590,8 +2587,8 @@ static int lv_domain_get_tag(xmlXPathContextPtr xpath_ctx, const char *dom_name, goto done; } - snprintf(xpath_str, sizeof(xpath_str), "/domain/metadata/%s:%s/text()", - METADATA_VM_PARTITION_PREFIX, METADATA_VM_PARTITION_ELEMENT); + ssnprintf(xpath_str, sizeof(xpath_str), "/domain/metadata/%s:%s/text()", + METADATA_VM_PARTITION_PREFIX, METADATA_VM_PARTITION_ELEMENT); xpath_obj = xmlXPathEvalExpression((xmlChar *)xpath_str, xpath_ctx); if (xpath_obj == NULL) { ERROR(PLUGIN_NAME " plugin: xmlXPathEval(%s) failed on domain %s", @@ -2793,7 +2790,7 @@ static void lv_add_network_interfaces(struct lv_read_state *state, break; case if_number: { char number_string[4]; - snprintf(number_string, sizeof(number_string), "%d", itf_number); + ssnprintf(number_string, sizeof(number_string), "%d", itf_number); if (ignore_device_match(il_interface_devices, domname, number_string) != 0) device_ignored = true; @@ -3094,7 +3091,7 @@ static int add_interface_device(struct lv_read_state *state, virDomainPtr dom, } char number_string[21]; - snprintf(number_string, sizeof(number_string), "interface-%u", number); + ssnprintf(number_string, sizeof(number_string), "interface-%u", number); char *number_copy = strdup(number_string); if (!number_copy) { sfree(path_copy); @@ -3133,7 +3130,7 @@ static int ignore_device_match(ignorelist_t *il, const char *domname, ERROR(PLUGIN_NAME " plugin: malloc failed."); return 0; } - snprintf(name, n, "%s:%s", domname, devpath); + ssnprintf(name, n, "%s:%s", domname, devpath); int r = ignorelist_match(il, name); sfree(name); return r; diff --git a/src/write_kafka.c b/src/write_kafka.c index 4c7a4715..09bb639a 100644 --- a/src/write_kafka.c +++ b/src/write_kafka.c @@ -97,7 +97,7 @@ static uint32_t kafka_hash(const char *keydata, size_t keylen) { #define KAFKA_RANDOM_KEY_BUFFER \ (char[KAFKA_RANDOM_KEY_SIZE]) { "" } static char *kafka_random_key(char buffer[static KAFKA_RANDOM_KEY_SIZE]) { - snprintf(buffer, KAFKA_RANDOM_KEY_SIZE, "%08" PRIX32, cdrand_u()); + ssnprintf(buffer, KAFKA_RANDOM_KEY_SIZE, "%08" PRIX32, cdrand_u()); return buffer; } @@ -410,14 +410,14 @@ static void kafka_config_topic(rd_kafka_conf_t *conf, rd_kafka_topic_conf_set_partitioner_cb(tctx->conf, kafka_partition); rd_kafka_topic_conf_set_opaque(tctx->conf, tctx); - snprintf(callback_name, sizeof(callback_name), "write_kafka/%s", - tctx->topic_name); + ssnprintf(callback_name, sizeof(callback_name), "write_kafka/%s", + tctx->topic_name); - status = plugin_register_write( - callback_name, kafka_write, - &(user_data_t){ - .data = tctx, .free_func = kafka_topic_context_free, - }); + status = plugin_register_write(callback_name, kafka_write, + &(user_data_t){ + .data = tctx, + .free_func = kafka_topic_context_free, + }); if (status != 0) { WARNING("write_kafka plugin: plugin_register_write (\"%s\") " "failed with status %i.", diff --git a/src/write_prometheus.c b/src/write_prometheus.c index 96e71ca1..b9040223 100644 --- a/src/write_prometheus.c +++ b/src/write_prometheus.c @@ -156,7 +156,8 @@ static char *format_labels(char *buffer, size_t buffer_size, #define LABEL_BUFFER_SIZE (LABEL_KEY_SIZE + LABEL_VALUE_SIZE + 4) char *labels[3] = { - (char[LABEL_BUFFER_SIZE]){0}, (char[LABEL_BUFFER_SIZE]){0}, + (char[LABEL_BUFFER_SIZE]){0}, + (char[LABEL_BUFFER_SIZE]){0}, (char[LABEL_BUFFER_SIZE]){0}, }; @@ -164,8 +165,8 @@ static char *format_labels(char *buffer, size_t buffer_size, * know that they are sane. */ for (size_t i = 0; i < m->n_label; i++) { char value[LABEL_VALUE_SIZE]; - snprintf(labels[i], LABEL_BUFFER_SIZE, "%s=\"%s\"", m->label[i]->name, - escape_label_value(value, sizeof(value), m->label[i]->value)); + ssnprintf(labels[i], LABEL_BUFFER_SIZE, "%s=\"%s\"", m->label[i]->name, + escape_label_value(value, sizeof(value), m->label[i]->value)); } strjoin(buffer, buffer_size, labels, m->n_label, ","); @@ -183,13 +184,13 @@ static void format_text(ProtobufCBuffer *buffer) { while (c_avl_iterator_next(iter, (void *)&unused_name, (void *)&fam) == 0) { char line[1024]; /* 4x DATA_MAX_NAME_LEN? */ - snprintf(line, sizeof(line), "# HELP %s %s\n", fam->name, fam->help); + ssnprintf(line, sizeof(line), "# HELP %s %s\n", fam->name, fam->help); buffer->append(buffer, strlen(line), (uint8_t *)line); - snprintf(line, sizeof(line), "# TYPE %s %s\n", fam->name, - (fam->type == IO__PROMETHEUS__CLIENT__METRIC_TYPE__GAUGE) - ? "gauge" - : "counter"); + ssnprintf(line, sizeof(line), "# TYPE %s %s\n", fam->name, + (fam->type == IO__PROMETHEUS__CLIENT__METRIC_TYPE__GAUGE) + ? "gauge" + : "counter"); buffer->append(buffer, strlen(line), (uint8_t *)line); for (size_t i = 0; i < fam->n_metric; i++) { @@ -199,17 +200,17 @@ static void format_text(ProtobufCBuffer *buffer) { char timestamp_ms[24] = ""; if (m->has_timestamp_ms) - snprintf(timestamp_ms, sizeof(timestamp_ms), " %" PRIi64, - m->timestamp_ms); + ssnprintf(timestamp_ms, sizeof(timestamp_ms), " %" PRIi64, + m->timestamp_ms); if (fam->type == IO__PROMETHEUS__CLIENT__METRIC_TYPE__GAUGE) - snprintf(line, sizeof(line), "%s{%s} " GAUGE_FORMAT "%s\n", fam->name, - format_labels(labels, sizeof(labels), m), m->gauge->value, - timestamp_ms); + ssnprintf(line, sizeof(line), "%s{%s} " GAUGE_FORMAT "%s\n", fam->name, + format_labels(labels, sizeof(labels), m), m->gauge->value, + timestamp_ms); else /* if (fam->type == IO__PROMETHEUS__CLIENT__METRIC_TYPE__COUNTER) */ - snprintf(line, sizeof(line), "%s{%s} %.0f%s\n", fam->name, - format_labels(labels, sizeof(labels), m), m->counter->value, - timestamp_ms); + ssnprintf(line, sizeof(line), "%s{%s} %.0f%s\n", fam->name, + format_labels(labels, sizeof(labels), m), m->counter->value, + timestamp_ms); buffer->append(buffer, strlen(line), (uint8_t *)line); } @@ -217,8 +218,8 @@ static void format_text(ProtobufCBuffer *buffer) { c_avl_iterator_destroy(iter); char server[1024]; - snprintf(server, sizeof(server), "\n# collectd/write_prometheus %s at %s\n", - PACKAGE_VERSION, hostname_g); + ssnprintf(server, sizeof(server), "\n# collectd/write_prometheus %s at %s\n", + PACKAGE_VERSION, hostname_g); buffer->append(buffer, strlen(server), (uint8_t *)server); pthread_mutex_unlock(&metrics_lock); @@ -635,7 +636,7 @@ metric_family_create(char *name, data_set_t const *ds, value_list_t const *vl, msg->name = name; char help[1024]; - snprintf( + ssnprintf( help, sizeof(help), "write_prometheus plugin: '%s' Type: '%s', Dstype: '%s', Dsname: '%s'", vl->plugin, vl->type, DS_TYPE_TO_STRING(ds->ds[ds_index].type), @@ -744,7 +745,7 @@ static void prom_logger(__attribute__((unused)) void *arg, char const *fmt, static int prom_open_socket(int addrfamily) { /* {{{ */ char service[NI_MAXSERV]; - snprintf(service, sizeof(service), "%hu", httpd_port); + ssnprintf(service, sizeof(service), "%hu", httpd_port); struct addrinfo *res; int status = getaddrinfo(httpd_host, service, diff --git a/src/write_redis.c b/src/write_redis.c index 324999c1..32005cd6 100644 --- a/src/write_redis.c +++ b/src/write_redis.c @@ -71,9 +71,10 @@ static int wr_write(const data_set_t *ds, /* {{{ */ status = FORMAT_VL(ident, sizeof(ident), vl); if (status != 0) return status; - snprintf(key, sizeof(key), "%s%s", - (node->prefix != NULL) ? node->prefix : REDIS_DEFAULT_PREFIX, ident); - snprintf(time, sizeof(time), "%.9f", CDTIME_T_TO_DOUBLE(vl->time)); + ssnprintf(key, sizeof(key), "%s%s", + (node->prefix != NULL) ? node->prefix : REDIS_DEFAULT_PREFIX, + ident); + ssnprintf(time, sizeof(time), "%.9f", CDTIME_T_TO_DOUBLE(vl->time)); value_size = sizeof(value); value_ptr = &value[0]; @@ -239,13 +240,13 @@ static int wr_config_node(oconfig_item_t *ci) /* {{{ */ if (status == 0) { char cb_name[sizeof("write_redis/") + DATA_MAX_NAME_LEN]; - snprintf(cb_name, sizeof(cb_name), "write_redis/%s", node->name); + ssnprintf(cb_name, sizeof(cb_name), "write_redis/%s", node->name); - status = - plugin_register_write(cb_name, wr_write, - &(user_data_t){ - .data = node, .free_func = wr_config_free, - }); + status = plugin_register_write(cb_name, wr_write, + &(user_data_t){ + .data = node, + .free_func = wr_config_free, + }); } if (status != 0) diff --git a/src/write_riemann.c b/src/write_riemann.c index 80569933..201ac516 100644 --- a/src/write_riemann.c +++ b/src/write_riemann.c @@ -291,17 +291,18 @@ wrr_value_to_event(struct riemann_host const *host, /* {{{ */ vl->type_instance); if (host->always_append_ds || (ds->ds_num > 1)) { if (host->event_service_prefix == NULL) - snprintf(service_buffer, sizeof(service_buffer), "%s/%s", &name_buffer[1], - ds->ds[index].name); + ssnprintf(service_buffer, sizeof(service_buffer), "%s/%s", + &name_buffer[1], ds->ds[index].name); else - snprintf(service_buffer, sizeof(service_buffer), "%s%s/%s", - host->event_service_prefix, &name_buffer[1], ds->ds[index].name); + ssnprintf(service_buffer, sizeof(service_buffer), "%s%s/%s", + host->event_service_prefix, &name_buffer[1], + ds->ds[index].name); } else { if (host->event_service_prefix == NULL) sstrncpy(service_buffer, &name_buffer[1], sizeof(service_buffer)); else - snprintf(service_buffer, sizeof(service_buffer), "%s%s", - host->event_service_prefix, &name_buffer[1]); + ssnprintf(service_buffer, sizeof(service_buffer), "%s%s", + host->event_service_prefix, &name_buffer[1]); } riemann_event_set( @@ -349,8 +350,8 @@ wrr_value_to_event(struct riemann_host const *host, /* {{{ */ if ((ds->ds[index].type != DS_TYPE_GAUGE) && (rates != NULL)) { char ds_type[DATA_MAX_NAME_LEN]; - snprintf(ds_type, sizeof(ds_type), "%s:rate", - DS_TYPE_TO_STRING(ds->ds[index].type)); + ssnprintf(ds_type, sizeof(ds_type), "%s:rate", + DS_TYPE_TO_STRING(ds->ds[index].type)); riemann_event_string_attribute_add(event, "ds_type", ds_type); } else { riemann_event_string_attribute_add(event, "ds_type", @@ -360,7 +361,7 @@ wrr_value_to_event(struct riemann_host const *host, /* {{{ */ { char ds_index[DATA_MAX_NAME_LEN]; - snprintf(ds_index, sizeof(ds_index), "%" PRIsz, index); + ssnprintf(ds_index, sizeof(ds_index), "%" PRIsz, index); riemann_event_string_attribute_add(event, "ds_index", ds_index); } @@ -794,8 +795,8 @@ static int wrr_config_node(oconfig_item_t *ci) /* {{{ */ return status; } - snprintf(callback_name, sizeof(callback_name), "write_riemann/%s", - host->name); + ssnprintf(callback_name, sizeof(callback_name), "write_riemann/%s", + host->name); user_data_t ud = {.data = host, .free_func = wrr_free}; diff --git a/src/write_stackdriver.c b/src/write_stackdriver.c index fd0192a0..dfa1d7c0 100644 --- a/src/write_stackdriver.c +++ b/src/write_stackdriver.c @@ -109,8 +109,8 @@ static char *wg_get_authorization_header(wg_callback_t *cb) { /* {{{ */ return NULL; } - status = snprintf(authorization_header, sizeof(authorization_header), - "Authorization: Bearer %s", access_token); + status = ssnprintf(authorization_header, sizeof(authorization_header), + "Authorization: Bearer %s", access_token); if ((status < 1) || ((size_t)status >= sizeof(authorization_header))) return NULL; @@ -160,9 +160,9 @@ static char *api_error_string(api_error_t *err, char *buffer, if (err == NULL) { strncpy(buffer, "Unknown error (API error is NULL)", buffer_size); } else if (err->message == NULL) { - snprintf(buffer, buffer_size, "API error %d", err->code); + ssnprintf(buffer, buffer_size, "API error %d", err->code); } else { - snprintf(buffer, buffer_size, "API error %d: %s", err->code, err->message); + ssnprintf(buffer, buffer_size, "API error %d: %s", err->code, err->message); } return buffer; @@ -251,8 +251,8 @@ static int do_post(wg_callback_t *cb, char const *url, void const *payload, static int wg_call_metricdescriptor_create(wg_callback_t *cb, char const *payload) { char url[1024]; - snprintf(url, sizeof(url), "%s/projects/%s/metricDescriptors", cb->url, - cb->project); + ssnprintf(url, sizeof(url), "%s/projects/%s/metricDescriptors", cb->url, + cb->project); wg_memory_t response = {0}; int status = do_post(cb, url, payload, &response); @@ -273,7 +273,8 @@ static int wg_call_metricdescriptor_create(wg_callback_t *cb, static int wg_call_timeseries_write(wg_callback_t *cb, char const *payload) { char url[1024]; - snprintf(url, sizeof(url), "%s/projects/%s/timeSeries", cb->url, cb->project); + ssnprintf(url, sizeof(url), "%s/projects/%s/timeSeries", cb->url, + cb->project); wg_memory_t response = {0}; int status = do_post(cb, url, payload, &response); diff --git a/src/zfs_arc.c b/src/zfs_arc.c index d18a93f7..a3c24516 100644 --- a/src/zfs_arc.c +++ b/src/zfs_arc.c @@ -127,7 +127,7 @@ static long long get_zfs_value(kstat_t *dummy __attribute__((unused)), size_t valuelen = sizeof(value); int rv; - snprintf(buffer, sizeof(buffer), "%s%s", zfs_arcstat, name); + ssnprintf(buffer, sizeof(buffer), "%s%s", zfs_arcstat, name); rv = sysctlbyname(buffer, (void *)&value, &valuelen, /* new value = */ NULL, /* new length = */ (size_t)0); if (rv == 0)