]> www.infradead.org Git - users/borneoa/openocd-next.git/commitdiff
target: fix memory leak in handle_target_write_memory()
authorAntonio Borneo <borneo.antonio@gmail.com>
Sat, 29 Mar 2025 21:51:59 +0000 (22:51 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 5 Apr 2025 06:22:43 +0000 (06:22 +0000)
Commit f55ec6d44922 ("target: rewrite command 'write_memory' as
COMMAND_HANDLER") adds a new return statement without freeing the
allocated buffer.

Add the needed free().

Fixes: f55ec6d44922 ("target: rewrite command 'write_memory' as COMMAND_HANDLER")
Change-Id: I676d658118b32f4d7cc71eda3436bb52f1966cd8
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8822
Tested-by: jenkins
src/target/target.c

index 7baeeddd08eb05e6d3f9339dee73de0325b2f027..3b62e0db09a6cb8e290f90929f0bdd80289e5288 100644 (file)
@@ -4608,6 +4608,7 @@ COMMAND_HANDLER(handle_target_write_memory)
                        int jimretval = Jim_GetWide(CMD_CTX->interp, tmp, &element_wide);
                        if (jimretval != JIM_OK) {
                                command_print(CMD, "invalid value \"%s\"", Jim_GetString(tmp, NULL));
+                               free(buffer);
                                return ERROR_COMMAND_ARGUMENT_INVALID;
                        }