This is an automated email from Gerrit.

"Antonio Borneo <borneo.anto...@gmail.com>" just uploaded a new patch set to 
Gerrit, which you can find at https://review.openocd.org/c/openocd/+/7205

-- gerrit

commit b621fc35b4a95a9f3286f9cb5514dbd3e6b07890
Author: Antonio Borneo <borneo.anto...@gmail.com>
Date:   Mon Sep 19 14:37:24 2022 +0200

    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.anto...@gmail.com>

diff --git a/src/target/riscv/riscv-013.c b/src/target/riscv/riscv-013.c
index 2c762e337a..1f4c34346a 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;

-- 

Reply via email to