aboutsummaryrefslogtreecommitdiff
path: root/src/flash
diff options
context:
space:
mode:
authorTim Newsome <tim@sifive.com>2018-05-30 16:06:08 -0700
committerTim Newsome <tim@sifive.com>2018-05-30 16:06:08 -0700
commitb39b05ff774f65c2f97a6ce2d88e1840891dfe60 (patch)
tree609ee0ff80e914e251ee88dd9ca8f8bbb1bfa533 /src/flash
parentab7ab8a8675f21050cdd67b1198d85e579a4b9a1 (diff)
parentb50fa9a19d0b600d26b6cbca57cd94c7b89f941c (diff)
downloadriscv-openocd-b39b05ff774f65c2f97a6ce2d88e1840891dfe60.zip
riscv-openocd-b39b05ff774f65c2f97a6ce2d88e1840891dfe60.tar.gz
riscv-openocd-b39b05ff774f65c2f97a6ce2d88e1840891dfe60.tar.bz2
Merge branch 'master' into from_upstream
Diffstat (limited to 'src/flash')
-rw-r--r--src/flash/nor/kinetis.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/flash/nor/kinetis.c b/src/flash/nor/kinetis.c
index 4d665d3..86fad72 100644
--- a/src/flash/nor/kinetis.c
+++ b/src/flash/nor/kinetis.c
@@ -937,7 +937,7 @@ static int kinetis_create_missing_banks(struct kinetis_chip *k_chip)
unsigned num_blocks;
struct kinetis_flash_bank *k_bank;
struct flash_bank *bank;
- char base_name[80], name[80], num[4];
+ char base_name[69], name[80], num[4];
char *class, *p;
num_blocks = k_chip->num_pflash_blocks + k_chip->num_nvm_blocks;
@@ -948,7 +948,8 @@ static int kinetis_create_missing_banks(struct kinetis_chip *k_chip)
bank = k_chip->banks[0].bank;
if (bank && bank->name) {
- strncpy(base_name, bank->name, sizeof(base_name));
+ strncpy(base_name, bank->name, sizeof(base_name) - 1);
+ base_name[sizeof(base_name) - 1] = '\0';
p = strstr(base_name, ".pflash");
if (p) {
*p = '\0';
@@ -960,7 +961,8 @@ static int kinetis_create_missing_banks(struct kinetis_chip *k_chip)
}
}
} else {
- strncpy(base_name, target_name(k_chip->target), sizeof(base_name));
+ strncpy(base_name, target_name(k_chip->target), sizeof(base_name) - 1);
+ base_name[sizeof(base_name) - 1] = '\0';
p = strstr(base_name, ".cpu");
if (p)
*p = '\0';
@@ -2012,7 +2014,7 @@ static int kinetis_probe_chip(struct kinetis_chip *k_chip)
unsigned cpu_mhz = 120;
unsigned idx;
bool use_nvm_marking = false;
- char flash_marking[11], nvm_marking[2];
+ char flash_marking[12], nvm_marking[2];
char name[40];
k_chip->probed = false;