diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2023-04-15 00:21:42 +0200 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2023-04-30 14:52:18 +0000 |
commit | c1dc7935f78973e89dfe10e5b93238ae3f4eacd3 (patch) | |
tree | 2ea2266778f41a10d6e7a2ece52a7f0e4184a355 | |
parent | bb073f897cd37a6253e49c5628a98a59fccf2ea5 (diff) | |
download | riscv-openocd-c1dc7935f78973e89dfe10e5b93238ae3f4eacd3.zip riscv-openocd-c1dc7935f78973e89dfe10e5b93238ae3f4eacd3.tar.gz riscv-openocd-c1dc7935f78973e89dfe10e5b93238ae3f4eacd3.tar.bz2 |
target/espressif: fix clang report on use of garbage value
When the function xtensa_queue_dbg_reg_read() returns error, the
array 'tmp' remains not initialized and scan-build complains while
computing buf_get_u32() that:
Result of operation is garbage or undefined
Check the returned value of xtensa_queue_dbg_reg_read() and
propagate it.
Change-Id: If0aaad068b97ef0a76560e262d16429afd469585
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Fixes: 8d1dcf293a0c ("target/espressif: add application tracing functionality over JTAG")
Reviewed-on: https://review.openocd.org/c/openocd/+/7607
Tested-by: jenkins
Reviewed-by: Erhan Kurubas <erhan.kurubas@espressif.com>
-rw-r--r-- | src/target/espressif/esp_xtensa_apptrace.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/target/espressif/esp_xtensa_apptrace.c b/src/target/espressif/esp_xtensa_apptrace.c index dfb846d..5741ab0 100644 --- a/src/target/espressif/esp_xtensa_apptrace.c +++ b/src/target/espressif/esp_xtensa_apptrace.c @@ -242,9 +242,11 @@ int esp_xtensa_apptrace_status_reg_read(struct target *target, uint32_t *stat) struct xtensa *xtensa = target_to_xtensa(target); uint8_t tmp[4]; - xtensa_queue_dbg_reg_read(xtensa, XTENSA_APPTRACE_STAT_REG, tmp); + int res = xtensa_queue_dbg_reg_read(xtensa, XTENSA_APPTRACE_STAT_REG, tmp); + if (res != ERROR_OK) + return res; xtensa_dm_queue_tdi_idle(&xtensa->dbg_mod); - int res = xtensa_dm_queue_execute(&xtensa->dbg_mod); + res = xtensa_dm_queue_execute(&xtensa->dbg_mod); if (res != ERROR_OK) { LOG_ERROR("Failed to exec JTAG queue!"); return res; |