gdb_server: fix segfault with GDB command 'flash-erase'
commitfcda9f1561bfc413e3723e5b4552bc7e91eb4a8d
authorAntonio Borneo <borneo.antonio@gmail.com>
Sun, 25 Feb 2024 17:36:47 +0000 (25 18:36 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 9 Mar 2024 11:04:29 +0000 (9 11:04 +0000)
treeae2e5e55cca96b1ccfdf1c9a56e6e0272fc29cf2
parent5c395fdef42a5750852ea0fc0abd944cf303a39b
gdb_server: fix segfault with GDB command 'flash-erase'

Running the GDB command 'flash-erase' triggers sending the remote
GDB commands 'vFlashErase' (one per flash bank) followed by one
single 'vFlashDone', with no 'vFlashWrite' commands in between.
This causes the field 'gdb_connection->vflash_image' to be NULL
during the execution of 'vFlashDone', triggering a segmentation
fault in OpenOCD.

While parsing 'vFlashDone', check if any image to flash has been
received.

Change-Id: I443021c7a531255b60f2c44c2685e52e3c34b5c8
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8164
Tested-by: jenkins
src/server/gdb_server.c