X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fwrite_riemann.c;h=26fa3f45680358ee156f8576b6adfaf30be620a9;hb=08a2128ac248150b50f9c54c9c71f573e54df3c3;hp=93bf85340027658392fc56ef79545e7683201a8c;hpb=f19159854c272e5a8bb9f6915c456cf3a0f2d20e;p=collectd.git diff --git a/src/write_riemann.c b/src/write_riemann.c index 93bf8534..26fa3f45 100644 --- a/src/write_riemann.c +++ b/src/write_riemann.c @@ -365,7 +365,7 @@ static Msg *riemann_notification_to_protobuf(struct riemann_host *host, /* {{{ * char service_buffer[6 * DATA_MAX_NAME_LEN]; char const *severity; notification_meta_t *meta; - int i; + size_t i; msg = malloc (sizeof (*msg)); if (msg == NULL) @@ -474,7 +474,7 @@ static Event *riemann_value_to_protobuf(struct riemann_host const *host, /* {{{ char name_buffer[5 * DATA_MAX_NAME_LEN]; char service_buffer[6 * DATA_MAX_NAME_LEN]; double ttl; - int i; + size_t i; event = malloc (sizeof (*event)); if (event == NULL) @@ -619,7 +619,7 @@ static Msg *riemann_value_list_to_protobuf (struct riemann_host const *host, /* msg__init (msg); /* Set up events. First, the list of pointers. */ - msg->n_events = (size_t) vl->values_len; + msg->n_events = vl->values_len; msg->events = calloc (msg->n_events, sizeof (*msg->events)); if (msg->events == NULL) { @@ -744,8 +744,8 @@ static int riemann_batch_add_value_list (struct riemann_host *host, /* {{{ */ len = msg__get_packed_size(host->batch_msg); ret = 0; - if (len >= host->batch_max) { - ret = riemann_batch_flush_nolock(0, host); + if ((host->batch_max < 0) || (((size_t) host->batch_max) <= len)) { + ret = riemann_batch_flush_nolock(0, host); } pthread_mutex_unlock(&host->lock); @@ -789,6 +789,8 @@ static int riemann_write(const data_set_t *ds, /* {{{ */ status = write_riemann_threshold_check(ds, vl, statuses); if (status != 0) return status; + } else { + memset (statuses, 0, sizeof (statuses)); } if (host->use_tcp == 1 && host->batch_mode) {