aboutsummaryrefslogtreecommitdiff
path: root/src/target
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2022-06-01 18:26:35 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2022-06-10 21:54:01 +0000
commit63e22d5fb97fd99d88d840e88a25aff721e0424b (patch)
treea27e2f77736e9be5456f85f44f7b86c512fcd156 /src/target
parente78b96421c6c782605127332011043d01c393ea7 (diff)
downloadriscv-openocd-63e22d5fb97fd99d88d840e88a25aff721e0424b.zip
riscv-openocd-63e22d5fb97fd99d88d840e88a25aff721e0424b.tar.gz
riscv-openocd-63e22d5fb97fd99d88d840e88a25aff721e0424b.tar.bz2
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 <borneo.antonio@gmail.com> 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 <vanekt@fbl.cz>
Diffstat (limited to 'src/target')
-rw-r--r--src/target/arm_adi_v5.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c
index 24de305..f7b335d 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;