cortex_a: remove memory leak on failure
authorSpencer Oliver <spen@spen-soft.co.uk>
Wed, 5 Jun 2013 19:19:11 +0000 (20:19 +0100)
committerSpencer Oliver <spen@spen-soft.co.uk>
Wed, 12 Jun 2013 14:41:43 +0000 (14:41 +0000)
If mem_ap_sel_write_atomic_u32 fails then tmp_buff may not be released.
Detected by clang.

Change-Id: I3d5416bd47d0eea61f61ec02ac5e43c82f114108
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/1433
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
src/target/cortex_a.c

index 1bd473c7c0595b0de98c3ad2326aa4353a317d59..969158077cfa842a77f1e1c939f15a727ba0dde8 100644 (file)
@@ -1978,7 +1978,7 @@ static int cortex_a8_read_apb_ab_memory(struct target *target,
        retval =
                mem_ap_sel_write_atomic_u32(swjdp, armv7a->debug_ap, armv7a->debug_base + CPUDBG_DRCR, 1<<2);
        if (retval != ERROR_OK)
-               return retval;
+               goto error_free_buff_r;
 
        /* Read DSCR */
        retval = mem_ap_sel_read_atomic_u32(swjdp, armv7a->debug_ap,