diff options
author | Leah Rowe <leah@libreboot.org> | 2022-11-27 00:48:37 +0000 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2022-11-27 00:48:37 +0000 |
commit | ff88cb1ac37eed20e7c9bcf9c36fc17947274abb (patch) | |
tree | 379850fc876325beaa8896a704b8e6c78a93ff1b /util/nvmutil | |
parent | b81b51f98bdbed6a3ce33a67c8eefcfc7adce6d1 (diff) |
util/nvmutil: further improved errno handling
Diffstat (limited to 'util/nvmutil')
-rw-r--r-- | util/nvmutil/nvmutil.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index 5ec28949..5081a3e2 100644 --- a/util/nvmutil/nvmutil.c +++ b/util/nvmutil/nvmutil.c @@ -109,20 +109,19 @@ main(int argc, char *argv[]) cmd = &cmd_copy; } - if (errno != 0) - goto nvmutil_exit; - - if (readFromFile(&fd, gbe, FILENAME, flags, SIZE_8KB) != SIZE_8KB) + if ((strMac == NULL) && (cmd == NULL)) + errno = EINVAL; + else if (readFromFile(&fd, gbe, FILENAME, flags, SIZE_8KB) != SIZE_8KB) goto nvmutil_exit; else if (errno == ENOTDIR) errno = 0; - if (strMac != NULL) + if (errno != 0) + goto nvmutil_exit; + else if (strMac != NULL) setmac(strMac); else if (cmd != NULL) (*cmd)(); - else - errno = EINVAL; if (gbeFileModified) writeGbeFile(&fd, FILENAME); |