summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimotej S <6674623+underhood@users.noreply.github.com>2021-07-08 13:27:38 +0200
committerGitHub <noreply@github.com>2021-07-08 13:27:38 +0200
commit2e43085c41dcb2efa457430f94e6261be13cffc3 (patch)
tree3807c3a14f86eeb1fd0da31b8708d691c10a8d93
parent33825d38b2d423a98f05f0625ca7fac47d9615c6 (diff)
Fixes coverity errors in ACLK (#11322)dashboard-v2.19.1
Fixes CID371885 and CID371884
-rw-r--r--aclk/aclk.c8
-rw-r--r--aclk/aclk_rx_msgs.c22
2 files changed, 27 insertions, 3 deletions
diff --git a/aclk/aclk.c b/aclk/aclk.c
index 3cb25a67d3..416f28e7ee 100644
--- a/aclk/aclk.c
+++ b/aclk/aclk.c
@@ -972,7 +972,12 @@ void ng_aclk_host_state_update(RRDHOST *host, int cmd)
void aclk_send_node_instances()
{
- struct node_instance_list *list = get_node_list();
+ struct node_instance_list *list_head = get_node_list();
+ struct node_instance_list *list = list_head;
+ if (unlikely(!list)) {
+ error_report("Failure to get_node_list from DB!");
+ return;
+ }
while (!uuid_is_null(list->host_id)) {
if (!uuid_is_null(list->node_id)) {
aclk_query_t query = aclk_query_new(NODE_STATE_UPDATE);
@@ -1001,4 +1006,5 @@ void aclk_send_node_instances()
list++;
}
+ freez(list_head);
}
diff --git a/aclk/aclk_rx_msgs.c b/aclk/aclk_rx_msgs.c
index 26e8fdc51b..a97166716f 100644
--- a/aclk/aclk_rx_msgs.c
+++ b/aclk/aclk_rx_msgs.c
@@ -270,10 +270,28 @@ void aclk_handle_new_cloud_msg(const char *message_type, const char *msg, size_t
}
if (!strcmp(message_type, "CreateNodeInstanceResult")) {
node_instance_creation_result_t res = parse_create_node_instance_result(msg, msg_len);
+ if (!res.machine_guid || !res.node_id) {
+ error_report("Error parsing CreateNodeInstanceResult");
+ freez(res.machine_guid);
+ freez(res.node_id);
+ return;
+ }
+
debug(D_ACLK, "CreateNodeInstanceResult: guid:%s nodeid:%s", res.machine_guid, res.node_id);
+
uuid_t host_id, node_id;
- uuid_parse(res.machine_guid, host_id);
- uuid_parse(res.node_id, node_id);
+ if (uuid_parse(res.machine_guid, host_id)) {
+ error("Error parsing machine_guid provided by CreateNodeInstanceResult");
+ freez(res.machine_guid);
+ freez(res.node_id);
+ return;
+ }
+ if (uuid_parse(res.node_id, node_id)) {
+ error("Error parsing node_id provided by CreateNodeInstanceResult");
+ freez(res.machine_guid);
+ freez(res.node_id);
+ return;
+ }
update_node_id(&host_id, &node_id);
aclk_query_t query = aclk_query_new(NODE_STATE_UPDATE);