X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fwrite_tsdb.c;h=2c39ec16e9713c8a26b41cb85d8289007b7a02b8;hb=20d15cfd26b23508242abcead906207bf26175d0;hp=27ea4738051c9d6f6192b5cb76149816a5831c8a;hpb=d6491cfcf52a74498e1becd7ef94fc8e0a5938b9;p=collectd.git diff --git a/src/write_tsdb.c b/src/write_tsdb.c index 27ea4738..2c39ec16 100644 --- a/src/write_tsdb.c +++ b/src/write_tsdb.c @@ -411,7 +411,7 @@ static int wt_send_message (const char* key, const char* value, const char* host, meta_data_t *md) { int status; - int message_len; + size_t message_len; char *temp = NULL; char *tags = ""; char message[1024]; @@ -436,7 +436,7 @@ static int wt_send_message (const char* key, const char* value, } } - message_len = ssnprintf (message, + status = ssnprintf (message, sizeof(message), "put %s %.0f %s fqdn=%s %s %s\r\n", key, @@ -445,12 +445,14 @@ static int wt_send_message (const char* key, const char* value, host, tags, host_tags); - sfree(temp); + if (status < 0) + return -1; + message_len = (size_t) status; if (message_len >= sizeof(message)) { ERROR("write_tsdb plugin: message buffer too small: " - "Need %d bytes.", message_len + 1); + "Need %zu bytes.", message_len + 1); return -1; } @@ -506,7 +508,8 @@ static int wt_write_messages(const data_set_t *ds, const value_list_t *vl, char key[10*DATA_MAX_NAME_LEN]; char values[512]; - int status, i; + int status; + size_t i; if (0 != strcmp(ds->type, vl->type)) {