projects
/
fw
/
openocd
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
601e355
)
stm32f2x: Correct calculation of number of 128k sectors.
author
Andreas Fritiofson
<andreas.fritiofson@gmail.com>
Wed, 19 Jun 2013 21:28:26 +0000
(23:28 +0200)
committer
Spencer Oliver
<spen@spen-soft.co.uk>
Fri, 21 Jun 2013 11:21:09 +0000
(11:21 +0000)
Fixes regression introduced in
9785f51f
that caused write outside
allocated memory during probe of devices with <1024K flash.
Reported-by: Alexander Pakhomov <ker0sin@yandex.ru>
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Change-Id: Ifba8833e436064624efbf678162538fd351a5702
Reviewed-on: http://openocd.zylin.com/1450
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/flash/nor/stm32f2x.c
patch
|
blob
|
history
diff --git
a/src/flash/nor/stm32f2x.c
b/src/flash/nor/stm32f2x.c
index eda7741ca83d06fa47b7b7d2e25359d1ac3e6a00..7b8ac941a6b8657e5cba59cf953324ef8096c7b0 100644
(file)
--- a/
src/flash/nor/stm32f2x.c
+++ b/
src/flash/nor/stm32f2x.c
@@
-711,6
+711,7
@@
static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
static void setup_sector(struct flash_bank *bank, int start, int num, int size)
{
for (int i = start; i < (start + num) ; i++) {
+ assert(i < bank->num_sectors);
bank->sectors[i].offset = bank->size;
bank->sectors[i].size = size;
bank->size += bank->sectors[i].size;
@@
-830,7
+831,7
@@
static int stm32x_probe(struct flash_bank *bank)
setup_sector(bank, 4, 1, 64 * 1024);
/* dynamic memory */
- setup_sector(bank, 4 + 1, M
AX
(12, num_pages) - 5, 128 * 1024);
+ setup_sector(bank, 4 + 1, M
IN
(12, num_pages) - 5, 128 * 1024);
if (stm32x_info->has_large_mem) {