From 6352f8b3df524fc0abc03dde4c675661cb3d97a8 Mon Sep 17 00:00:00 2001 From: Edward O'Callaghan Date: Sat, 12 Nov 2022 12:08:46 +1100 Subject: flashrom.c: Replace 'exit(1)' leaks with return codes on err paths Do not just exit in the middle of the process, rather return a value back up to the caller to allow proper resource cleanup's to occur. Change-Id: Ie4186a40071e9a7296d601582ff15ad7df09c70a Signed-off-by: Edward O'Callaghan Reviewed-on: https://review.coreboot.org/c/flashrom/+/69474 Reviewed-by: Felix Singer Tested-by: build bot (Jenkins) --- flashrom.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'flashrom.c') diff --git a/flashrom.c b/flashrom.c index fde6d5a1..9c22eb6e 100644 --- a/flashrom.c +++ b/flashrom.c @@ -319,7 +319,7 @@ static char *extract_param(char *const *haystack, const char *needle, const char opt = malloc(optlen + 1); if (!opt) { msg_gerr("Out of memory!\n"); - exit(1); + return NULL; } strncpy(opt, opt_pos, optlen); opt[optlen] = '\0'; @@ -455,7 +455,7 @@ static int check_erased_range(struct flashctx *flash, unsigned int start, unsign if (!cmpbuf) { msg_gerr("Out of memory!\n"); - exit(1); + return -1; } memset(cmpbuf, erased_value, len); ret = verify_range(flash, cmpbuf, start, len); @@ -897,7 +897,7 @@ int probe_flash(struct registered_master *mst, int startchip, struct flashctx *f flash->chip = calloc(1, sizeof(*flash->chip)); if (!flash->chip) { msg_gerr("Out of memory!\n"); - exit(1); + return -1; } *flash->chip = *chip; flash->mst = mst; -- cgit v1.2.3