]> git.gag.com Git - fw/openocd/commitdiff
target: fix memory leak on multiple '-gdb-port' flag
authorAntonio Borneo <borneo.antonio@gmail.com>
Mon, 4 Jan 2021 18:24:21 +0000 (19:24 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Wed, 13 Jan 2021 11:32:34 +0000 (11:32 +0000)
In the odd case of multiple flags '-gdb-port' during 'target
create' or following 'configure', the new strdup()'ed value will
replace the old one without freeing it.

Free the old value (if it exists) before replacing it.

Change-Id: I1673346613ce7023880046e3a9ba473e75f18b8a
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/6005
Tested-by: jenkins
src/target/target.c

index 3c1a6338e915a561fb1d08f7f4ee79161753dc2c..c752844b04c082f306c3a1f7099558052695401c 100644 (file)
@@ -5123,6 +5123,7 @@ no_params:
                                e = Jim_GetOpt_String(goi, &s, NULL);
                                if (e != JIM_OK)
                                        return e;
+                               free(target->gdb_port_override);
                                target->gdb_port_override = strdup(s);
                        } else {
                                if (goi->argc != 0)