]> git.sur5r.net Git - openocd/blobdiff - src/flash/nor/stm32l4x.c
flash/nor/stm32: Eliminate working area leak
[openocd] / src / flash / nor / stm32l4x.c
index f71369330eb451d6b5a5788d831e88a7e06c6e0a..4fb7e039aa627c7fa82bc2d6b91dc9217d0bc1fa 100644 (file)
@@ -476,8 +476,10 @@ static int stm32l4_write_block(struct flash_bank *bank, const uint8_t *buffer,
        retval = target_write_buffer(target, write_algorithm->address,
                        sizeof(stm32l4_flash_write_code),
                        stm32l4_flash_write_code);
-       if (retval != ERROR_OK)
+       if (retval != ERROR_OK) {
+               target_free_working_area(target, write_algorithm);
                return retval;
+       }
 
        /* memory buffer */
        while (target_alloc_working_area_try(target, buffer_size, &source) !=