aboutsummaryrefslogtreecommitdiff
path: root/src/target/xscale.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/target/xscale.c')
-rw-r--r--src/target/xscale.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/target/xscale.c b/src/target/xscale.c
index 99f67aff..e88a2311 100644
--- a/src/target/xscale.c
+++ b/src/target/xscale.c
@@ -1821,8 +1821,10 @@ static int xscale_read_memory(struct target *target, uint32_t address,
/* receive data from target (count times 32-bit words in host endianness) */
buf32 = malloc(4 * count);
retval = xscale_receive(target, buf32, count);
- if (retval != ERROR_OK)
+ if (retval != ERROR_OK) {
+ free(buf32);
return retval;
+ }
/* extract data from host-endian buffer into byte stream */
for (i = 0; i < count; i++) {