This is an automated email from Gerrit. "Tarek BOCHKATI <tarek.bouchk...@gmail.com>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/6486
-- gerrit commit 7dcfbbcfe1d8acb75562b2e5983ac249b01b0d4c Author: Tarek BOCHKATI <tarek.bouchk...@gmail.com> Date: Sun Aug 29 16:02:58 2021 +0100 flash/stm32l4x: free write_algorithm work area if no space left for the buffer If the remaining memory for the buffer is less than 256 bytes, the memory allocated for the write algorithm in the target is not freed. Fixes: ba131f30a079 (Flash driver for STM32G0xx and STM32G4xx) Change-Id: Ic649f6c39799d76725b0c69ff3a009a3f510e17f Signed-off-by: Tarek BOCHKATI <tarek.bouchk...@gmail.com> diff --git a/src/flash/nor/stm32l4x.c b/src/flash/nor/stm32l4x.c index b8635fe75..3c055616f 100644 --- a/src/flash/nor/stm32l4x.c +++ b/src/flash/nor/stm32l4x.c @@ -1353,6 +1353,7 @@ static int stm32l4_write_block(struct flash_bank *bank, const uint8_t *buffer, buffer_size = target_get_working_area_avail(target) & ~(2 * sizeof(uint32_t) - 1); if (buffer_size < 256) { LOG_WARNING("large enough working area not available, can't do block memory writes"); + target_free_working_area(target, write_algorithm); return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; } else if (buffer_size > 16384) { /* probably won't benefit from more than 16k ... */ --