fix(plat/zynqmp): fix coverity scan warnings
- Fix uninitialized variable use
- Fix array overrun issue
Signed-off-by: Tanmay Shah <tanmay.shah@xilinx.com>
Signed-off-by: Ronak Jain <ronak.jain@xilinx.com>
Change-Id: I604416531122c9208793d66c26b1fa69c95f3165
diff --git a/plat/xilinx/zynqmp/pm_service/pm_client.c b/plat/xilinx/zynqmp/pm_service/pm_client.c
index 1f54430..3cd48a7 100644
--- a/plat/xilinx/zynqmp/pm_service/pm_client.c
+++ b/plat/xilinx/zynqmp/pm_service/pm_client.c
@@ -217,10 +217,11 @@
node = irq_to_pm_node(irq);
reg &= ~lowest_set;
- if ((node != NODE_UNKNOWN) &&
- (!pm_wakeup_nodes_set[node])) {
- ret = pm_set_wakeup_source(NODE_APU, node, 1);
- pm_wakeup_nodes_set[node] = !ret;
+ if (node > NODE_UNKNOWN && node < NODE_MAX) {
+ if (pm_wakeup_nodes_set[node] == 0U) {
+ ret = pm_set_wakeup_source(NODE_APU, node, 1U);
+ pm_wakeup_nodes_set[node] = (ret == PM_RET_SUCCESS) ? 1U : 0U;
+ }
}
}
}
diff --git a/plat/xilinx/zynqmp/pm_service/pm_svc_main.c b/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
index d88e5fa..953bb4a 100644
--- a/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
+++ b/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
@@ -260,7 +260,7 @@
enum pm_ret_status ret;
uint32_t payload[PAYLOAD_ARG_CNT];
- uint32_t pm_arg[4];
+ uint32_t pm_arg[5];
uint32_t result[PAYLOAD_ARG_CNT];
uint32_t api_id;
@@ -419,7 +419,7 @@
case PM_CLOCK_GETRATE:
{
- uint64_t value;
+ uint64_t value = 0;
ret = pm_clock_getrate(pm_arg[0], &value);
SMC_RET2(handle, (uint64_t)ret |
@@ -538,7 +538,7 @@
case PM_FEATURE_CHECK:
{
- uint32_t version;
+ uint32_t version = 0;
uint32_t bit_mask[2] = {0};
ret = pm_feature_check(pm_arg[0], &version, bit_mask,