aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor
diff options
context:
space:
mode:
authorAndrey Yurovsky <yurovsky@gmail.com>2014-08-28 11:54:29 -0700
committerSpencer Oliver <spen@spen-soft.co.uk>2014-09-15 08:23:12 +0000
commit4efb3ebb769f6e4a9b8f6a9134d3fda8319d6b85 (patch)
treefbab0c520b7186293392a8f4a227082f03ac7cc4 /src/flash/nor
parent45f01e0a1269ceb23bfd3a34d2d635bf07463bd0 (diff)
stm32lx: don't allow part_info to be uninitialized
It's possible for us to fail to read the part ID code so make sure that part_info is initialized to NULL before attempting to do so, otherwise we could proceed and use it uninitialized and then segfault. Change-Id: I0a3f3d3947690b66f0981b5046340449521e0b33 Signed-off-by: Jack Peel <jack.peel@synapse.com> Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-on: http://openocd.zylin.com/2276 Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/flash/nor')
-rw-r--r--src/flash/nor/stm32lx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/flash/nor/stm32lx.c b/src/flash/nor/stm32lx.c
index f7074c3e..dc1a0c40 100644
--- a/src/flash/nor/stm32lx.c
+++ b/src/flash/nor/stm32lx.c
@@ -214,7 +214,7 @@ FLASH_BANK_COMMAND_HANDLER(stm32lx_flash_bank_command)
return ERROR_COMMAND_SYNTAX_ERROR;
/* Create the bank structure */
- stm32lx_info = malloc(sizeof(struct stm32lx_flash_bank));
+ stm32lx_info = calloc(1, sizeof(*stm32lx_info));
/* Check allocation */
if (stm32lx_info == NULL) {
@@ -624,6 +624,7 @@ static int stm32lx_probe(struct flash_bank *bank)
uint32_t second_bank_base;
stm32lx_info->probed = 0;
+ stm32lx_info->part_info = NULL;
int retval = stm32lx_read_id_code(bank->target, &device_id);
if (retval != ERROR_OK)