flash/stm32l4x: zero init stm32l4_flash_bank struct on flash bank initialization
This is specially needed when, in the probe routine, device is not found among the stm32l4_parts. In this case, the stm32l4_flash_bank->part_info is undefined and inadvertentanly used afterwards: part_info = stm32l4_info->part_info; If the stm32l4_flash_bank is zero init, the probe routine checks for the validity of the part_info field in the previous struct and correctly detects the unsupported (or not found) condition, raising an error rather than a SIGSEGV Change-Id: I7d9d669fb3fa7f8f0903acd60046966b4acb0031 Signed-off-by: Raúl Sánchez Siles <rasasi78@gmail.com> Reviewed-on: http://openocd.zylin.com/6103 Tested-by: jenkins Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-by: Oleksij Rempel <linux@rempel-privat.de> Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
This commit is contained in:
parent
4c00f96fc2
commit
8d6f7c9223
|
@ -439,7 +439,7 @@ FLASH_BANK_COMMAND_HANDLER(stm32l4_flash_bank_command)
|
|||
if (CMD_ARGC < 6)
|
||||
return ERROR_COMMAND_SYNTAX_ERROR;
|
||||
|
||||
stm32l4_info = malloc(sizeof(struct stm32l4_flash_bank));
|
||||
stm32l4_info = calloc(1, sizeof(struct stm32l4_flash_bank));
|
||||
if (!stm32l4_info)
|
||||
return ERROR_FAIL; /* Checkme: What better error to use?*/
|
||||
bank->driver_priv = stm32l4_info;
|
||||
|
|
Loading…
Reference in New Issue