@cryptotaxi247 / netdata-1 / commits / dbbb55345

Address coverity report issues CID_373247-373251 (#11549)

* Fix memory leak CID_373251 * Check return value CID_373248 * Check return code CID_373249 * Check return code CID_373250 * Initialize cmd CID_373249

Stelios Fragkakis committed Sep 22, 2021 at 12:57 UTC dbbb5534591a40d6a2f87d0ed6a22fa3ccbe7715
2 files changed +8 -3
database/sqlite/sqlite_aclk.h
+2 -1
@@ -198,7 +198,8 @@ static inline RRDHOST *find_host_by_node_id(char *node_id)
198 if (unlikely(!node_id))
199 return NULL;
200
201 - uuid_parse(node_id, node_uuid);
201 + if (uuid_parse(node_id, node_uuid))
202 + return NULL;
203
204 RRDHOST *host = localhost;
205 while(host) {
database/sqlite/sqlite_aclk_chart.c
+6 -2
@@ -94,7 +94,8 @@ static int aclk_add_chart_payload(char *uuid_str, uuid_t *uuid, char *claim_id,
94 uuid_generate(unique_uuid);
95
96 uuid_t claim_uuid;
97 - uuid_parse(claim_id, claim_uuid);
97 + if (uuid_parse(claim_id, claim_uuid))
98 + return 1;
99
100 rc = sqlite3_bind_blob(res_chart, 1, &unique_uuid , sizeof(unique_uuid), SQLITE_STATIC);
101 if (unlikely(rc != SQLITE_OK))
@@ -336,6 +337,7 @@ void aclk_send_chart_event(struct aclk_database_worker_config *wc, struct aclk_d
337
338 freez(payload_list);
339 freez(payload_list_size);
340 + freez(payload_list_max_size);
341 freez(position_list);
342 freez(is_dim);
343
@@ -688,7 +690,8 @@ void aclk_start_streaming(char *node_id, uint64_t sequence_id, time_t created_at
690 debug(D_ACLK_SYNC,"START streaming charts for node %s from sequence %"PRIu64" t=%ld, batch=%"PRIu64, node_id,
691 sequence_id, created_at, batch_id);
692 uuid_t node_uuid;
691 - uuid_parse(node_id, node_uuid);
693 + if (uuid_parse(node_id, node_uuid))
694 + return;
695
696 struct aclk_database_worker_config *wc = NULL;
697 rrd_wrlock();
@@ -724,6 +727,7 @@ void aclk_start_streaming(char *node_id, uint64_t sequence_id, time_t created_at
727 return;
728 } else {
729 struct aclk_database_cmd cmd;
730 + memset(&cmd, 0, sizeof(cmd));
731 // TODO: handle timestamp
732 // if (!wc->chart_reset_count)
733 // wc->chart_delay = now_realtime_sec() + 60;