This is an automated email from Gerrit.

Antonio Borneo ([email protected]) just uploaded a new patch set to 
Gerrit, which you can find at http://openocd.zylin.com/5700

-- gerrit

commit 0f4c32ad74112ef84fbdca51e0fe64c5e7792797
Author: Antonio Borneo <[email protected]>
Date:   Fri May 22 18:08:55 2020 +0200

    target/mem_ap: fix two memory leaks
    
    The target mem_ap misses the method 'deinit_target' and does not
    free the memory allocated during 'target create' and 'configure'.
    
    Add the missing method and free the allocated memory.
    Issue identified with valgrind.
    
    Change-Id: If0d0114a75dd76a8b65c2d46d96c6085fd31a09d
    Signed-off-by: Antonio Borneo <[email protected]>

diff --git a/src/target/mem_ap.c b/src/target/mem_ap.c
index 29cd37a..ade48b6 100644
--- a/src/target/mem_ap.c
+++ b/src/target/mem_ap.c
@@ -65,6 +65,15 @@ static int mem_ap_init_target(struct command_context 
*cmd_ctx, struct target *ta
        return ERROR_OK;
 }
 
+static void mem_ap_deinit_target(struct target *target)
+{
+       LOG_DEBUG("%s", __func__);
+
+       free(target->private_config);
+       free(target->arch_info);
+       return;
+}
+
 static int mem_ap_arch_state(struct target *target)
 {
        LOG_DEBUG("%s", __func__);
@@ -169,6 +178,7 @@ struct target_type mem_ap_target = {
 
        .target_create = mem_ap_target_create,
        .init_target = mem_ap_init_target,
+       .deinit_target = mem_ap_deinit_target,
        .examine = mem_ap_examine,
        .target_jim_configure = adiv5_jim_configure,
 

-- 


_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to