]> git.sur5r.net Git - openocd/commit
flash/nor/core: fix Segmentation fault during flash write of bad formed img
authorTomas Vanek <vanekt@fbl.cz>
Thu, 8 Feb 2018 13:44:10 +0000 (14:44 +0100)
committerTomas Vanek <vanekt@fbl.cz>
Thu, 22 Feb 2018 20:53:41 +0000 (20:53 +0000)
commitcb75947a0974fa7449f65c195197cb785ac5f06d
treeeadc50a6f3cedfc5ba7abf508611f45ce739f9de
parentefe6991e804b0ad807b926c51108c92c3c627f83
flash/nor/core: fix Segmentation fault during flash write of bad formed img

flash_write_unlock() sorts sections by base address but does not check
if they overlap. In case of overlapped sections an item of padding[]
array can get negative and padding loop writes out of allocated buffer.

How to replicate: cat two copies of an ihex file to one file and try
to flash it.

Check for overlapped sections and abort write in such case.

Change-Id: I43eee7dc290a8d18faa59567b2118b88ad4bedca
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/4397
Tested-by: jenkins
Reviewed-by: Andreas Bolsch <hyphen0break@gmail.com>
src/flash/nor/core.c