@cryptotaxi247 / netdata-1 / commits / e8b337d9a

Additional checks to address coverity report (#11429)

Stelios Fragkakis committed Aug 12, 2021 at 18:12 UTC e8b337d9a5dde0aa860d84093ba2df30fd7238e1
1 file changed +10 -14
database/sqlite/sqlite_aclk.c
+10 -14
@@ -10,11 +10,6 @@
10
11 const char *aclk_sync_config[] = {
12 NULL,
13 - "CREATE TABLE IF NOT EXISTS delete_dimension(host_id, chart_id, dim_id, chart_name, dimension_id, dimension_name);"
14 - "CREATE TRIGGER IF NOT EXISTS tr_del_dim AFTER DELETE ON dimension " \
15 - "BEGIN INSERT INTO delete_dimension (host_id, chart_id, dim_id, chart_name, dimension_id, dimension_name) " \
16 - "SELECT c.host_id, c.chart_id, old.dim_id, c.type||'.'||c.id, old.id, old.name from chart c where c.chart_id = old.chart_id; end;",
17 - NULL
13 };
14
15 int aclk_architecture = 0;
@@ -150,6 +145,7 @@ struct aclk_database_cmd aclk_database_deq_cmd(struct aclk_database_worker_confi
145 uv_mutex_lock(&wc->cmd_mutex);
146 queue_size = wc->queue_size;
147 if (queue_size == 0) {
148 + memset(&ret, 0, sizeof(ret));
149 ret.opcode = ACLK_DATABASE_NOOP;
150 ret.completion = NULL;
151 } else {
@@ -238,13 +234,12 @@ static void timer_cb(uv_timer_t* handle)
234 uv_update_time(handle->loop);
235
236 struct aclk_database_cmd cmd;
237 + memset(&cmd, 0, sizeof(cmd));
238 cmd.opcode = ACLK_DATABASE_TIMER;
242 - cmd.completion = NULL;
239 aclk_database_enq_cmd_noblock(wc, &cmd);
240
241 if (wc->cleanup_after && wc->cleanup_after < now_realtime_sec()) {
242 cmd.opcode = ACLK_DATABASE_CLEANUP;
247 - cmd.completion = NULL;
243 if (!aclk_database_enq_cmd_noblock(wc, &cmd))
244 wc->cleanup_after += ACLK_DATABASE_CLEANUP_INTERVAL;
245 }
@@ -252,7 +247,6 @@ static void timer_cb(uv_timer_t* handle)
247 if (wc->chart_updates) {
248 cmd.opcode = ACLK_DATABASE_PUSH_CHART;
249 cmd.count = ACLK_MAX_CHART_BATCH;
255 - cmd.completion = NULL;
250 cmd.param1 = ACLK_MAX_CHART_BATCH_COUNT;
251 aclk_database_enq_cmd_noblock(wc, &cmd);
252 }
@@ -260,7 +254,6 @@ static void timer_cb(uv_timer_t* handle)
254 if (wc->alert_updates) {
255 cmd.opcode = ACLK_DATABASE_PUSH_ALERT;
256 cmd.count = ACLK_MAX_ALERT_UPDATES;
263 - cmd.completion = NULL;
257 aclk_database_enq_cmd_noblock(wc, &cmd);
258 }
259 }
@@ -810,8 +803,8 @@ static int sql_check_aclk_table(void *data, int argc, char **argv, char **column
803
804 debug(D_ACLK_SYNC,"Scheduling aclk sync table check for node %s", (char *) argv[0]);
805 struct aclk_database_cmd cmd;
806 + memset(&cmd, 0, sizeof(cmd));
807 cmd.opcode = ACLK_DATABASE_DELETE_HOST;
814 - cmd.completion = NULL;
808 cmd.data = strdupz((char *) argv[0]);
809 aclk_database_enq_cmd_noblock(wc, &cmd);
810 return 0;
@@ -822,8 +815,13 @@ static int sql_check_aclk_table(void *data, int argc, char **argv, char **column
815
816 void sql_check_aclk_table_list(struct aclk_database_worker_config *wc)
817 {
818 + char *err_msg = NULL;
819 debug(D_ACLK_SYNC,"Cleaning tables for nodes that do not exist");
826 - (int) sqlite3_exec(db_meta, SQL_SELECT_ACLK_ACTIVE_LIST, sql_check_aclk_table, (void *) wc, NULL);
820 + int rc = sqlite3_exec(db_meta, SQL_SELECT_ACLK_ACTIVE_LIST, sql_check_aclk_table, (void *) wc, &err_msg);
821 + if (rc != SQLITE_OK) {
822 + error_report("Query failed when trying to check for obsolete ACLK sync tables, %s", err_msg);
823 + sqlite3_free(err_msg);
824 + }
825 return;
826 }
827
@@ -833,10 +831,8 @@ void aclk_data_rotated(RRDHOST *host)
831
832 debug(D_ACLK_SYNC,"Processing data base rotation event");
833 struct aclk_database_cmd cmd;
834 + memset(&cmd, 0, sizeof(cmd));
835 cmd.opcode = ACLK_DATABASE_UPD_STATS;
837 - cmd.data = NULL;
838 - cmd.count = 0;
839 - cmd.completion = NULL;
836
837 rrd_wrlock();
838 RRDHOST *this_host = localhost;