diff options
Diffstat (limited to 'util/nvmutil')
| -rw-r--r-- | util/nvmutil/nvmutil.c | 19 |
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; } /* |
