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/+/7532
-- gerrit commit 75a9dec49e11191c77efeadaa054e1b989567025 Author: Antonio Borneo <borneo.anto...@gmail.com> Date: Fri Mar 10 11:50:08 2023 +0100 svf: fix leaking file descriptor The file descriptor svf_fd is not closed on command error, thus leaking memory. Close svf_fd on errors. While there, properly initialize svf_fd using NULL instead of 0. Change-Id: I5efe9ce576a3a50588b30000222665e26161dfdc Signed-off-by: Antonio Borneo <borneo.anto...@gmail.com> diff --git a/src/svf/svf.c b/src/svf/svf.c index 7195880670..05fb21d631 100644 --- a/src/svf/svf.c +++ b/src/svf/svf.c @@ -377,6 +377,9 @@ COMMAND_HANDLER(handle_svf_command) svf_addcycles = atoi(CMD_ARGV[i + 1]); if (svf_addcycles > SVF_MAX_ADDCYCLES) { command_print(CMD, "addcycles: %s out of range", CMD_ARGV[i + 1]); + if (svf_fd) + fclose(svf_fd); + svf_fd = NULL; return ERROR_FAIL; } i++; @@ -384,6 +387,9 @@ COMMAND_HANDLER(handle_svf_command) tap = jtag_tap_by_string(CMD_ARGV[i+1]); if (!tap) { command_print(CMD, "Tap: %s unknown", CMD_ARGV[i+1]); + if (svf_fd) + fclose(svf_fd); + svf_fd = NULL; return ERROR_FAIL; } i++; @@ -546,7 +552,7 @@ COMMAND_HANDLER(handle_svf_command) free_all: fclose(svf_fd); - svf_fd = 0; + svf_fd = NULL; /* free buffers */ free(svf_command_buffer); --