@cryptotaxi247 / netdata-1 / commits / 3d778524c

Fix coverity issues (#10216)

Vladimir Kobal committed Nov 9, 2020 at 19:14 UTC 3d778524ca581174c288135fd6c1ea556d88dd77
3 files changed +25 -18
exporting/init_connectors.c
+6
@@ -115,6 +115,12 @@ void simple_connector_init(struct instance *instance)
115 struct simple_connector_data *connector_specific_data =
116 (struct simple_connector_data *)instance->connector_specific_data;
117
118 + if (connector_specific_data->first_buffer)
119 + return;
120 +
121 + connector_specific_data->header = buffer_create(0);
122 + connector_specific_data->buffer = buffer_create(0);
123 +
124 // create a ring buffer
125 struct simple_connector_buffer *first_buffer = NULL;
126
exporting/send_data.c
+17 -18
@@ -253,9 +253,6 @@ void simple_connector_worker(void *instance_p)
253 .tv_usec = (instance->config.timeoutms * 1000) % 1000000 };
254 int failures = 0;
255
256 - BUFFER *spare_header = buffer_create(0);
257 - BUFFER *spare_buffer = buffer_create(0);
258 -
256 while (!instance->engine->exit) {
257 struct stats *stats = &instance->stats;
258 int send_stats = 0;
@@ -279,32 +276,28 @@ void simple_connector_worker(void *instance_p)
276 // ------------------------------------------------------------------------
277 // detach buffer
278
282 - BUFFER *header;
283 - BUFFER *buffer;
279 size_t buffered_metrics;
280
281 if (!connector_specific_data->previous_buffer ||
282 (connector_specific_data->previous_buffer == connector_specific_data->first_buffer &&
283 connector_specific_data->first_buffer->used == 1)) {
289 - connector_specific_data->header = connector_specific_data->first_buffer->header;
290 - connector_specific_data->buffer = connector_specific_data->first_buffer->buffer;
284 + BUFFER *header, *buffer;
285 +
286 + header = connector_specific_data->first_buffer->header;
287 + buffer = connector_specific_data->first_buffer->buffer;
288 connector_specific_data->buffered_metrics = connector_specific_data->first_buffer->buffered_metrics;
289 connector_specific_data->buffered_bytes = connector_specific_data->first_buffer->buffered_bytes;
290
294 - header = connector_specific_data->header;
295 - buffer = connector_specific_data->buffer;
291 buffered_metrics = connector_specific_data->buffered_metrics;
292
298 - buffer_flush(spare_header);
299 - connector_specific_data->first_buffer->header = spare_header;
300 - spare_header = header;
293 + buffer_flush(connector_specific_data->header);
294 + connector_specific_data->first_buffer->header = connector_specific_data->header;
295 + connector_specific_data->header = header;
296
302 - buffer_flush(spare_buffer);
303 - connector_specific_data->first_buffer->buffer = spare_buffer;
304 - spare_buffer = buffer;
297 + buffer_flush(connector_specific_data->buffer);
298 + connector_specific_data->first_buffer->buffer = connector_specific_data->buffer;
299 + connector_specific_data->buffer = buffer;
300 } else {
306 - header = connector_specific_data->header;
307 - buffer = connector_specific_data->buffer;
301 buffered_metrics = connector_specific_data->buffered_metrics;
302 }
303
@@ -385,7 +378,13 @@ void simple_connector_worker(void *instance_p)
378 failures = 0;
379
380 if (likely(sock != -1)) {
388 - simple_connector_send_buffer(&sock, &failures, instance, header, buffer, buffered_metrics);
381 + simple_connector_send_buffer(
382 + &sock,
383 + &failures,
384 + instance,
385 + connector_specific_data->header,
386 + connector_specific_data->buffer,
387 + buffered_metrics);
388 } else {
389 error("EXPORTING: failed to update '%s'", instance->config.destination);
390 stats->transmission_failures++;
exporting/tests/test_exporting_engine.c
+2
@@ -609,6 +609,8 @@ static void test_simple_connector_worker(void **state)
609 instance->connector_specific_data = simple_connector_data;
610 simple_connector_data->last_buffer = callocz(1, sizeof(struct simple_connector_buffer));
611 simple_connector_data->first_buffer = simple_connector_data->last_buffer;
612 + simple_connector_data->header = buffer_create(0);
613 + simple_connector_data->buffer = buffer_create(0);
614 simple_connector_data->last_buffer->header = buffer_create(0);
615 simple_connector_data->last_buffer->buffer = buffer_create(0);
616