aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor/stmsmi.c
diff options
context:
space:
mode:
authorJan Matyas <matyas@codasip.com>2021-04-23 10:47:17 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2021-06-13 19:58:28 +0100
commit64c2e03b23d9cadc1b919d38e902a079d015ddc6 (patch)
tree789350b475b723de7ff22c52cc1b1fefa2f96c2a /src/flash/nor/stmsmi.c
parentf2958fc04bd879393fa743860478834e234f05d0 (diff)
downloadriscv-openocd-64c2e03b23d9cadc1b919d38e902a079d015ddc6.zip
riscv-openocd-64c2e03b23d9cadc1b919d38e902a079d015ddc6.tar.gz
riscv-openocd-64c2e03b23d9cadc1b919d38e902a079d015ddc6.tar.bz2
flash/nor: improved API of flash_driver.info & fixed buffer overruns
1) The API of "info" callback in "struct flash_driver" has been improved. Fixed buffers for strings 2) Removed the calls to snprintf() from the flash_driver.info implementations. Many of them were used in an unsafe manner (buffer overruns were possible). Change-Id: I42ab8a8018d01f9af43c5ba49f650c3cb5d31dcb Signed-off-by: Jan Matyas <matyas@codasip.com> Reviewed-on: http://openocd.zylin.com/6182 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Diffstat (limited to 'src/flash/nor/stmsmi.c')
-rw-r--r--src/flash/nor/stmsmi.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/flash/nor/stmsmi.c b/src/flash/nor/stmsmi.c
index f633e36..662b459 100644
--- a/src/flash/nor/stmsmi.c
+++ b/src/flash/nor/stmsmi.c
@@ -631,17 +631,16 @@ static int stmsmi_protect_check(struct flash_bank *bank)
return ERROR_OK;
}
-static int get_stmsmi_info(struct flash_bank *bank, char *buf, int buf_size)
+static int get_stmsmi_info(struct flash_bank *bank, struct command_invocation *cmd)
{
struct stmsmi_flash_bank *stmsmi_info = bank->driver_priv;
if (!(stmsmi_info->probed)) {
- snprintf(buf, buf_size,
- "\nSMI flash bank not probed yet\n");
+ command_print_sameline(cmd, "\nSMI flash bank not probed yet\n");
return ERROR_OK;
}
- snprintf(buf, buf_size, "\nSMI flash information:\n"
+ command_print_sameline(cmd, "\nSMI flash information:\n"
" Device \'%s\' (ID 0x%08" PRIx32 ")\n",
stmsmi_info->dev->name, stmsmi_info->dev->device_id);