From: Antonio Borneo Date: Mon, 19 Sep 2022 12:37:24 +0000 (+0200) Subject: target/riscv-013: fix unchecked return code X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=8db6dff333c2803d339086c7d5694eac4da11d0a;p=fw%2Fopenocd 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 Reviewed-on: https://review.openocd.org/c/openocd/+/7205 Reviewed-by: Tim Newsome Reviewed-by: Jan Matyas Tested-by: jenkins --- diff --git a/src/target/riscv/riscv-013.c b/src/target/riscv/riscv-013.c index 2c762e337..1f4c34346 100644 --- a/src/target/riscv/riscv-013.c +++ b/src/target/riscv/riscv-013.c @@ -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;