arm_adi_v5: fix scan-build warning [1/3]

Commit 21f7885d1c ("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: 21f7885d1c ("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>
This commit is contained in:
Antonio Borneo 2022-06-01 18:26:35 +02:00
parent e78b96421c
commit 63e22d5fb9
1 changed files with 3 additions and 2 deletions

View File

@ -1641,11 +1641,12 @@ static int rtp_ap(const struct rtp_ops *ops, struct adiv5_ap *ap)
{ {
int retval; int retval;
uint32_t apid; uint32_t apid;
target_addr_t dbgbase = 0; /* GCC complains can be used uninitialized */ target_addr_t dbgbase, invalid_entry;
target_addr_t invalid_entry;
/* Now we read ROM table ID registers, ref. ARM IHI 0029B sec */ /* Now we read ROM table ID registers, ref. ARM IHI 0029B sec */
retval = dap_get_debugbase(ap, &dbgbase, &apid); retval = dap_get_debugbase(ap, &dbgbase, &apid);
if (retval != ERROR_OK)
return retval;
retval = rtp_ops_mem_ap_header(ops, retval, ap, dbgbase, apid); retval = rtp_ops_mem_ap_header(ops, retval, ap, dbgbase, apid);
if (retval != ERROR_OK) if (retval != ERROR_OK)
return retval; return retval;