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.antonio@gmail.com>
Fixes: 682f927f8e
("pld: add support for cologne chip gatemate fpgas")
Reviewed-on: https://review.openocd.org/c/openocd/+/7632
Tested-by: jenkins
Reviewed-by: Daniel Anselmi <danselmi@gmx.ch>
This commit is contained in:
parent
d771d7f1a7
commit
57f7ce68a4
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue