aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichele Sardo <msmttchr@gmail.com>2018-03-22 12:02:19 +0100
committerTomas Vanek <vanekt@fbl.cz>2018-04-04 21:23:57 +0100
commit6e6f90d1af601af0f6079f19f603a9a3a6e83da1 (patch)
treef3940e5b7fe4d1af515ff48759ce8c276f26b99e /src
parent7690a74b094347ec393c280414a182b7361d7b17 (diff)
downloadriscv-openocd-6e6f90d1af601af0f6079f19f603a9a3a6e83da1.zip
riscv-openocd-6e6f90d1af601af0f6079f19f603a9a3a6e83da1.tar.gz
riscv-openocd-6e6f90d1af601af0f6079f19f603a9a3a6e83da1.tar.bz2
Fix for warnings detected by clang static analyzer
Fix for potential memory leakage and for unused/unreported return error code Change-Id: Ifb2c95b60637c3a241ad4bf41d1a328c92ccea4b Signed-off-by: Michele Sardo <msmttchr@gmail.com> Reviewed-on: http://openocd.zylin.com/4476 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Diffstat (limited to 'src')
-rw-r--r--src/flash/nor/bluenrg-x.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/flash/nor/bluenrg-x.c b/src/flash/nor/bluenrg-x.c
index c4a8080..2b56859 100644
--- a/src/flash/nor/bluenrg-x.c
+++ b/src/flash/nor/bluenrg-x.c
@@ -274,6 +274,7 @@ static int bluenrgx_write_bytes(struct target *target, uint32_t address_base, ui
if (pre_bytes) {
if (target_read_u32(target, pre_address, &pre_word)) {
LOG_ERROR("Memory read failed");
+ free(new_buffer);
return ERROR_FAIL;
}
@@ -282,6 +283,7 @@ static int bluenrgx_write_bytes(struct target *target, uint32_t address_base, ui
if (post_bytes) {
if (target_read_u32(target, post_address, &post_word)) {
LOG_ERROR("Memory read failed");
+ free(new_buffer);
return ERROR_FAIL;
}
@@ -450,6 +452,9 @@ static int bluenrgx_write(struct flash_bank *bank, const uint8_t *buffer,
destroy_reg_param(&reg_params[2]);
destroy_reg_param(&reg_params[3]);
destroy_reg_param(&reg_params[4]);
+ if (retval != ERROR_OK)
+ return retval;
+
}
/* Program chunk at end, not addressable by fast burst write algorithm */