target/riscv-013: fix unchecked return code

Scan-build complains about variable 'sbcs_orig' that can be used
not initialized.
	Logic error: Assigned value is garbage or undefined
	riscv-013.c:4468 Assigned value is garbage or undefined
This is caused by not checking the return value of the call
	riscv-013.c:4466 dmi_read(target, &sbcs_orig, DM_SBCS);
In fact when dmi_read() returns error, the variable 'sbcs_orig' is
not assigned.

Check the returned value.

Change-Id: Ia9032a0229aa243138f95f4e13f765726a4ceae9
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7205
Reviewed-by: Tim Newsome <tim@sifive.com>
Reviewed-by: Jan Matyas <matyas@codasip.com>
Tested-by: jenkins
This commit is contained in:
Antonio Borneo 2022-09-19 14:37:24 +02:00
parent 8683526af7
commit 8db6dff333
1 changed files with 3 additions and 1 deletions

View File

@ -4463,7 +4463,9 @@ static int riscv013_test_sba_config_reg(struct target *target,
uint32_t rd_val;
uint32_t sbcs_orig;
dmi_read(target, &sbcs_orig, DM_SBCS);
int retval = dmi_read(target, &sbcs_orig, DM_SBCS);
if (retval != ERROR_OK)
return retval;
uint32_t sbcs = sbcs_orig;
bool test_passed;