From 63e22d5fb97fd99d88d840e88a25aff721e0424b Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Wed, 1 Jun 2022 18:26:35 +0200 Subject: [PATCH] arm_adi_v5: fix scan-build warning [1/3] Commit 21f7885d1c2a ("arm_adi_v5: separate ROM table parsing from command output [1/3]") introduces a new scan-build warning because continues the execution even when dap_get_debugbase() returns error. The value of 'apid' can be uninitialized: 5th function call argument is an uninitialized value Check the return value and quit on error. While there, remove the useless initialization of 'dbgbase' that was apparently required for the same problem. Change-Id: Iade26a152925ee0f1bf114ed829b94f7ed5b254f Signed-off-by: Antonio Borneo Fixes: 21f7885d1c2a ("arm_adi_v5: separate ROM table parsing from command output [1/3]") Reviewed-on: https://review.openocd.org/c/openocd/+/7010 Tested-by: jenkins Reviewed-by: Tomas Vanek --- src/target/arm_adi_v5.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c index 24de30530..f7b335d95 100644 --- a/src/target/arm_adi_v5.c +++ b/src/target/arm_adi_v5.c @@ -1641,11 +1641,12 @@ static int rtp_ap(const struct rtp_ops *ops, struct adiv5_ap *ap) { int retval; uint32_t apid; - target_addr_t dbgbase = 0; /* GCC complains can be used uninitialized */ - target_addr_t invalid_entry; + target_addr_t dbgbase, invalid_entry; /* Now we read ROM table ID registers, ref. ARM IHI 0029B sec */ retval = dap_get_debugbase(ap, &dbgbase, &apid); + if (retval != ERROR_OK) + return retval; retval = rtp_ops_mem_ap_header(ops, retval, ap, dbgbase, apid); if (retval != ERROR_OK) return retval;