diff options
author | Edward O'Callaghan <quasisec@google.com> | 2022-11-12 12:08:46 +1100 |
---|---|---|
committer | Felix Singer <felixsinger@posteo.net> | 2022-12-06 10:22:23 +0000 |
commit | 6352f8b3df524fc0abc03dde4c675661cb3d97a8 (patch) | |
tree | 599fa3951e28c65e0d8d179b954b5441005aead4 /flashrom.c | |
parent | 4e27cad44dec5443617840bd6995a921cc2689aa (diff) | |
download | flashrom-6352f8b3df524fc0abc03dde4c675661cb3d97a8.tar.gz flashrom-6352f8b3df524fc0abc03dde4c675661cb3d97a8.tar.bz2 flashrom-6352f8b3df524fc0abc03dde4c675661cb3d97a8.zip |
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 <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/69474
Reviewed-by: Felix Singer <felixsinger@posteo.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'flashrom.c')
-rw-r--r-- | flashrom.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/flashrom.c b/flashrom.c index fde6d5a14..9c22eb6e7 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; |