]> git.gag.com Git - fw/openocd/commit
gdb_server: fix double free
authorAntonio Borneo <borneo.antonio@gmail.com>
Sat, 19 Feb 2022 15:16:31 +0000 (16:16 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 26 Feb 2022 15:37:19 +0000 (15:37 +0000)
commitbc50b8f1b299991851d4ff3eb30f583ed6aa530b
tree36d4b22b8cc90ba8144816a83ee9d296c8363534
parente84be7088d5972ddd9bf502f8f66ac3b06ed3dda
gdb_server: fix double free

Commit 6541233aa78d ("Combine register lists of smp targets.")
unconditionally assigns the output pointers of the function
smp_reg_list_noread(), even if the function fails and returns
error.
This causes a double free from the caller, that has assigned NULL
to the pointers to simplify the error handling.

Use local variables in smp_reg_list_noread() and assign the output
pointers only on success.

Change-Id: Ic0fd2f26520566cf322f0190780e15637c01cfae
Fixes: 6541233aa78d ("Combine register lists of smp targets.")
Reported-by: Michele Bisogno <michele.bisogno.ct@renesas.com>
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6852
Tested-by: jenkins
Reviewed-by: Michele Bisogno <michele.bisogno.ct@renesas.com>
Reviewed-by: Tim Newsome <tim@sifive.com>
src/server/gdb_server.c