From d1212796abc68ff480ff862d1a09ec3a1942fe97 Mon Sep 17 00:00:00 2001 From: Edward O'Callaghan Date: Sat, 12 Nov 2022 12:08:01 +1100 Subject: [PATCH] flashrom.c: Position heap alloc along side check in compare_range() Change-Id: I0386ac4c09a541cb9a659b2410ce49c3292ecc6e Signed-off-by: Edward O'Callaghan Reviewed-on: https://review.coreboot.org/c/flashrom/+/69473 Reviewed-by: Felix Singer Reviewed-by: Angel Pons Reviewed-by: Alexander Goncharov Tested-by: build bot (Jenkins) --- flashrom.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flashrom.c b/flashrom.c index 3e75eb353..18c486438 100644 --- a/flashrom.c +++ b/flashrom.c @@ -471,15 +471,16 @@ static int compare_range(const uint8_t *wantbuf, const uint8_t *havebuf, unsigne static int check_erased_range(struct flashctx *flash, unsigned int start, unsigned int len) { int ret; - uint8_t *cmpbuf = malloc(len); const uint8_t erased_value = ERASED_VALUE(flash); + uint8_t *cmpbuf = malloc(len); if (!cmpbuf) { msg_gerr("Out of memory!\n"); return -1; } memset(cmpbuf, erased_value, len); ret = verify_range(flash, cmpbuf, start, len); + free(cmpbuf); return ret; }