flashrom.c: Position heap alloc along side check in compare_range()

Change-Id: I0386ac4c09a541cb9a659b2410ce49c3292ecc6e
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/69473
Original-Reviewed-by: Felix Singer <felixsinger@posteo.net>
Original-Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Original-Reviewed-by: Alexander Goncharov <chat@joursoir.net>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71499
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/flashrom.c b/flashrom.c
index 234f135..4139349 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -384,15 +384,16 @@
 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");
 		exit(1);
 	}
 	memset(cmpbuf, erased_value, len);
 	ret = verify_range(flash, cmpbuf, start, len);
+
 	free(cmpbuf);
 	return ret;
 }