mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-11 11:07:23 +00:00
fix segfault when password is left blank
This commit is contained in:
parent
1e1058db49
commit
41a64a0f93
@ -485,7 +485,9 @@ ipmi_lan_set_password(struct ipmi_intf * intf,
|
|||||||
memset(&data, 0, sizeof(data));
|
memset(&data, 0, sizeof(data));
|
||||||
data[0] = userid & 0x3f;/* user ID */
|
data[0] = userid & 0x3f;/* user ID */
|
||||||
data[1] = 0x02; /* set password */
|
data[1] = 0x02; /* set password */
|
||||||
memcpy(data+2, password, (strlen(password) > 16) ? 16 : strlen(password));
|
|
||||||
|
if (password)
|
||||||
|
memcpy(data+2, password, (strlen(password) > 16) ? 16 : strlen(password));
|
||||||
|
|
||||||
memset(&req, 0, sizeof(req));
|
memset(&req, 0, sizeof(req));
|
||||||
req.msg.netfn = IPMI_NETFN_APP;
|
req.msg.netfn = IPMI_NETFN_APP;
|
||||||
@ -506,9 +508,12 @@ ipmi_lan_set_password(struct ipmi_intf * intf,
|
|||||||
*/
|
*/
|
||||||
lan_session.password = 1;
|
lan_session.password = 1;
|
||||||
memset(lan_session.authcode, 0, 16);
|
memset(lan_session.authcode, 0, 16);
|
||||||
memcpy(lan_session.authcode, password, strlen(password));
|
if (password) {
|
||||||
|
memcpy(lan_session.authcode, password, strlen(password));
|
||||||
printf("Password for user %d set to %s\n", userid, lan_session.authcode);
|
printf("Password for user %d set to %s\n", userid, lan_session.authcode);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
printf("Password cleared for user %d\n", userid);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user