This is an automated email from Gerrit.

"Antonio Borneo <borneo.anto...@gmail.com>" just uploaded a new patch set to 
Gerrit, which you can find at https://review.openocd.org/c/openocd/+/8300

-- gerrit

commit 68fbf3c26106efbac396ee57d0238b37cce764b5
Author: Antonio Borneo <borneo.anto...@gmail.com>
Date:   Sun May 26 12:38:43 2024 +0200

    target/arm_tpiu_swo: Fix memory leak on error
    
    In case of fail to allocate 'obj->name', the memory allocated for
    'obj->out_filename' is not freed, thus leaking.
    
    Since 'obj' is allocated with calloc(), thus zeroed, switch to use
    the common error exit path for both allocations of 'obj->name' and
    'obj->out_filename'.
    
    Fixes: 2506ccb50915 ("target/arm_tpiu_swo: Fix division by zero")
    Change-Id: I412f66ddd7bf7d260cee495324058482b26ff0c5
    Signed-off-by: Antonio Borneo <borneo.anto...@gmail.com>

diff --git a/src/target/arm_tpiu_swo.c b/src/target/arm_tpiu_swo.c
index b5a4882011..55a9778447 100644
--- a/src/target/arm_tpiu_swo.c
+++ b/src/target/arm_tpiu_swo.c
@@ -965,8 +965,7 @@ static int jim_arm_tpiu_swo_create(Jim_Interp *interp, int 
argc, Jim_Obj *const
        obj->out_filename = strdup("external");
        if (!obj->out_filename) {
                LOG_ERROR("Out of memory");
-               free(obj);
-               return JIM_ERR;
+               goto err_exit;
        }
 
        Jim_Obj *n;
@@ -974,8 +973,7 @@ static int jim_arm_tpiu_swo_create(Jim_Interp *interp, int 
argc, Jim_Obj *const
        obj->name = strdup(Jim_GetString(n, NULL));
        if (!obj->name) {
                LOG_ERROR("Out of memory");
-               free(obj);
-               return JIM_ERR;
+               goto err_exit;
        }
 
        /* Do the rest as "configure" options */

-- 

Reply via email to