aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/flash/nor/tcl.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/flash/nor/tcl.c b/src/flash/nor/tcl.c
index ec80f6ff..cf6fa080 100644
--- a/src/flash/nor/tcl.c
+++ b/src/flash/nor/tcl.c
@@ -427,16 +427,7 @@ COMMAND_HANDLER(handle_flash_fill_command)
int retval = ERROR_OK;
static size_t const chunksize = 1024;
- uint8_t *chunk = malloc(chunksize);
- if (chunk == NULL)
- return ERROR_FAIL;
-
- uint8_t *readback = malloc(chunksize);
- if (readback == NULL) {
- free(chunk);
- return ERROR_FAIL;
- }
-
+ uint8_t *chunk = NULL, *readback = NULL;
if (CMD_ARGC != 3) {
retval = ERROR_COMMAND_SYNTAX_ERROR;
@@ -447,6 +438,16 @@ COMMAND_HANDLER(handle_flash_fill_command)
COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], pattern);
COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], count);
+ chunk = malloc(chunksize);
+ if (chunk == NULL)
+ return ERROR_FAIL;
+
+ readback = malloc(chunksize);
+ if (readback == NULL) {
+ free(chunk);
+ return ERROR_FAIL;
+ }
+
if (count == 0)
goto done;