]> www.infradead.org Git - users/borneoa/openocd-next.git/commitdiff
gdb_server: fix invalid free
authorJim Paris <jimparis@meta.com>
Fri, 21 Feb 2025 17:33:45 +0000 (12:33 -0500)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 1 Mar 2025 15:12:36 +0000 (15:12 +0000)
`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
src/server/gdb_server.c

index 1866de0b561d4ca04d5f85d7b7545de819682169..71b7c7764a5c75899674bfe0770ebe4cf2543f66 100644 (file)
@@ -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;