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;
}