diff options
author | Jim Paris <jimparis@meta.com> | 2025-02-21 12:33:45 -0500 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2025-03-01 15:12:36 +0000 |
commit | accbeaed99bc6014d060259d6b0b0e080c0f44b4 (patch) | |
tree | b4c019792b5d306b7d29eabac145ee0ccad20577 /src | |
parent | c986b4dbf2ff81753adcd0235954cfd577831672 (diff) | |
download | riscv-openocd-accbeaed99bc6014d060259d6b0b0e080c0f44b4.zip riscv-openocd-accbeaed99bc6014d060259d6b0b0e080c0f44b4.tar.gz riscv-openocd-accbeaed99bc6014d060259d6b0b0e080c0f44b4.tar.bz2 |
gdb_server: fix invalid free
`gdb_service_free` calls `free(gdb_port_next)`, so this needs to be an
allocated string. Otherwise we trip up detectors like Android's tagged
pointers.
Change-Id: Ib08ea55a38af4e15c4fbae95f10db0e3684ae1af
Signed-off-by: Jim Paris <jimparis@meta.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8768
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
Diffstat (limited to 'src')
-rw-r--r-- | src/server/gdb_server.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index 1866de0..71b7c77 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -3898,7 +3898,8 @@ static int gdb_target_add_one(struct target *target) } } } else if (strcmp(gdb_port_next, "pipe") == 0) { - gdb_port_next = "disabled"; + free(gdb_port_next); + gdb_port_next = strdup("disabled"); } } return retval; |