summaryrefslogtreecommitdiff
path: root/lib/ipmi_sol.c
diff options
context:
space:
mode:
authorAlexander Amelkin <alexander@amelkin.msk.ru>2020-07-28 19:38:03 +0300
committerAlexander Amelkin <alexander@amelkin.msk.ru>2020-08-05 12:13:12 +0300
commit60487f1a0e3cc280c185af012cef33b9badf1016 (patch)
tree81d225a922a73d0f6a31241c8de82052bfe376cc /lib/ipmi_sol.c
parentaee377beadba6df6309fe572cf671543b22950d5 (diff)
downloadipmitool-bugfix/223-chassis-bootdev-options.tar.gz
Refix 6e037d6bfbbb93b349c8ca331ebde03a837f76bfbugfix/223-chassis-bootdev-options
Restore using strncmp() for "options=" and similar substrings. Resolves ipmitool/ipmitool#223 Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
Diffstat (limited to 'lib/ipmi_sol.c')
-rw-r--r--lib/ipmi_sol.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/ipmi_sol.c b/lib/ipmi_sol.c
index aaa0ad6..8e7285c 100644
--- a/lib/ipmi_sol.c
+++ b/lib/ipmi_sol.c
@@ -1908,6 +1908,9 @@ int
ipmi_sol_main(struct ipmi_intf * intf, int argc, char ** argv)
{
int retval = 0;
+ const char *instance_kw = "instance=";
+ size_t instance_len = strlen(instance_kw);
+
if (!argc || !strcmp(argv[0], "help")) {
/* Help */
print_sol_usage();
@@ -1991,7 +1994,7 @@ ipmi_sol_main(struct ipmi_intf * intf, int argc, char ** argv)
_use_sol_for_keepalive = 1;
} else if (!strcmp(argv[i], "nokeepalive")) {
_disable_keepalive = 1;
- } else if (!strcmp(argv[i], "instance=")) {
+ } else if (!strncmp(argv[i], instance_kw, instance_len)) {
if (str2uchar(argv[i] + 9, &instance) != 0) {
lprintf(LOG_ERR, "Given instance '%s' is invalid.", argv[i] + 9);
print_sol_usage();
@@ -2008,7 +2011,7 @@ ipmi_sol_main(struct ipmi_intf * intf, int argc, char ** argv)
int i;
uint8_t instance = 1;
for (i = 1; i < argc; i++) {
- if (!strcmp(argv[i], "instance=")) {
+ if (!strncmp(argv[i], instance_kw, instance_len)) {
if (str2uchar(argv[i] + 9, &instance) != 0) {
lprintf(LOG_ERR,
"Given instance '%s' is invalid.",