This is an automated email from Gerrit.

Andreas Fritiofson ([email protected]) just uploaded a new patch set 
to Gerrit, which you can find at http://openocd.zylin.com/1450

-- gerrit

commit 337de4e3779c0f9ffe3dc5fa819b20c0cf784a39
Author: Andreas Fritiofson <[email protected]>
Date:   Wed Jun 19 23:28:26 2013 +0200

    stm32f2x: Correct calculation of number of 128k sectors.
    
    Fixes regression introduced in 9785f51f that caused write outside
    allocated memory during probe of devices with <1024K flash.
    
    Reported-by: Alexander Pakhomov <[email protected]>
    Signed-off-by: Andreas Fritiofson <[email protected]>
    Change-Id: Ifba8833e436064624efbf678162538fd351a5702

diff --git a/src/flash/nor/stm32f2x.c b/src/flash/nor/stm32f2x.c
index eda7741..7b8ac94 100644
--- 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, MAX(12, num_pages) - 5, 128 * 1024);
+       setup_sector(bank, 4 + 1, MIN(12, num_pages) - 5, 128 * 1024);
 
        if (stm32x_info->has_large_mem) {
 

-- 

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to