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/+/7632

-- gerrit

commit 9795a133e7f5e56ad6e697ca54fdbba71ffcb1cd
Author: Antonio Borneo <borneo.anto...@gmail.com>
Date:   Sun Apr 30 22:57:59 2023 +0200

    pld: gatemate: fix memory leak
    
    When gatemate_set_instr() fails, the array pointed by
    bit_file.raw_file.data is not freed.
    Issue identified by OpenOCD Jenkins clang build.
    
    Free the array while propagating the error.
    
    Change-Id: I2f7fadee903f9c65cdc9ab9b52ccb5803b48a59d
    Signed-off-by: Antonio Borneo <borneo.anto...@gmail.com>
    Fixes: 682f927f8e4e ("pld: add support for cologne chip gatemate fpgas")

diff --git a/src/pld/gatemate.c b/src/pld/gatemate.c
index afd27efca4..43b3f02d1d 100644
--- a/src/pld/gatemate.c
+++ b/src/pld/gatemate.c
@@ -192,8 +192,10 @@ static int gatemate_load(struct pld_device *pld_device, 
const char *filename)
                return retval;
 
        retval = gatemate_set_instr(tap, JTAG_CONFIGURE);
-       if (retval != ERROR_OK)
+       if (retval != ERROR_OK) {
+               free(bit_file.raw_file.data);
                return retval;
+       }
 
        struct scan_field field;
        field.num_bits = bit_file.raw_file.length * 8;

-- 

Reply via email to