From dc7c60b7a8f57bf2832a95d78412a340ee93a939 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Tue, 23 Aug 2005 20:50:15 +0000 Subject: [PATCH] fix segfault when BMC does not support locking --- ipmitool/lib/ipmi_lanp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ipmitool/lib/ipmi_lanp.c b/ipmitool/lib/ipmi_lanp.c index 00abfdf..b7cb5b4 100644 --- a/ipmitool/lib/ipmi_lanp.c +++ b/ipmitool/lib/ipmi_lanp.c @@ -343,6 +343,8 @@ ipmi_lanp_lock_state(struct ipmi_intf * intf, uint8_t chan) p = get_lan_param(intf, chan, IPMI_LANP_SET_IN_PROGRESS); if (p == NULL) return -1; + if (p->data == NULL) + return -1; return (p->data[0] & 3); } @@ -1752,7 +1754,7 @@ static int ipmi_lan_alert(struct ipmi_intf * intf, int argc, char ** argv) { uint8_t alert; - uint8_t channel = find_lan_channel(intf, 1); + uint8_t channel = 1; struct lan_param * p; if (argc < 1 || @@ -1765,6 +1767,7 @@ ipmi_lan_alert(struct ipmi_intf * intf, int argc, char ** argv) /* alert print [channel] [alert] */ if (strncasecmp(argv[0], "print", 5) == 0) { if (argc < 2) { + channel = find_lan_channel(intf, 1); if (is_lan_channel(intf, channel) == 0) { lprintf(LOG_ERR, "Channel %d is not a LAN channel", channel); return -1;