summaryrefslogtreecommitdiffstats
path: root/flashrom.c
diff options
context:
space:
mode:
authorEdward O'Callaghan <quasisec@google.com>2022-11-12 12:08:46 +1100
committerFelix Singer <felixsinger@posteo.net>2022-12-06 10:22:23 +0000
commit6352f8b3df524fc0abc03dde4c675661cb3d97a8 (patch)
tree599fa3951e28c65e0d8d179b954b5441005aead4 /flashrom.c
parent4e27cad44dec5443617840bd6995a921cc2689aa (diff)
downloadflashrom-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.c6
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;