summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2026-03-08 17:46:11 +0000
committerLeah Rowe <leah@libreboot.org>2026-03-08 17:48:22 +0000
commit35ffe6476553742b8ad3c3e0a7272398f2a1c0db (patch)
treeace696535ca0e1bc4866e4fc3d3299b978a4f0fb
parenta0829f7a2774fd42fe55a03840be26f0a1dcf932 (diff)
util/nvmutil: fix 3-arg setmac
3-arg arguments were broken, by recent generalisations. this should fix it. Signed-off-by: Leah Rowe <leah@libreboot.org>
-rw-r--r--util/nvmutil/nvmutil.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c
index 474e90eb..212e1a3e 100644
--- a/util/nvmutil/nvmutil.c
+++ b/util/nvmutil/nvmutil.c
@@ -342,6 +342,7 @@ main(int argc, char *argv[])
if (close(gbe_fd) == -1)
err(ECANCELED, "close '%s'", fname);
+
#ifndef HAVE_ARC4RANDOM_BUF
if (urandom_fd > -1) {
if (close(urandom_fd) == -1)
@@ -458,11 +459,19 @@ set_cmd_args(int argc, char *argv[])
mac_str = rmac;
cmd_index = CMD_SETMAC;
} else if (valid_command(cmd_index) && argc >= 4) {
- /*
- * User-supplied partnum.
- * Example: ./nvmutil gbe.bin copy 0
- */
- part = conv_argv_part_num(argv[3]);
+ if (command[cmd_index].arg_part) {
+ /*
+ * User-supplied partnum.
+ * Example: ./nvmutil gbe.bin copy 0
+ */
+ part = conv_argv_part_num(argv[3]);
+ } else {
+ err(ECANCELED, "Bad command: %s %s",
+ argv[2], argv[3]);
+ }
+ } else if (valid_command(cmd_index) && argc >= 3) {
+ if (cmd_index == CMD_SETMAC)
+ mac_str = rmac;
}
/*