From 66a0616a195792c9bf161328f66b568596e80973 Mon Sep 17 00:00:00 2001
From: Duncan Idaho <dune.idaho@gmail.com>
Date: Fri, 20 Apr 2012 18:15:52 +0200
Subject: [PATCH 3/7] lib/ipmi_lanp.c - add checks whether intf is set
 Signed-off-by: Duncan Idaho <dune.idaho@gmail.com>

Commit adds checks whether intf is set, resp. not being NULL pointer.
---
 lib/ipmi_lanp.c |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/lib/ipmi_lanp.c b/lib/ipmi_lanp.c
index 83f49e5..147932a 100644
--- a/lib/ipmi_lanp.c
+++ b/lib/ipmi_lanp.c
@@ -68,6 +68,9 @@ is_lan_channel(struct ipmi_intf * intf, uint8_t chan)
 {
 	uint8_t medium;
 
+	if (!intf)
+		return 0;
+
 	if (chan < 1 || chan > IPMI_CHANNEL_NUMBER_MAX)
 		return 0;
 
@@ -93,6 +96,9 @@ find_lan_channel(struct ipmi_intf * intf, uint8_t start)
 {
 	uint8_t chan = 0;
 
+	if (!intf)
+		return 0;
+
 	for (chan = start; chan < IPMI_CHANNEL_NUMBER_MAX; chan++) {
 		if (is_lan_channel(intf, chan)) {
 			return chan;
@@ -122,6 +128,9 @@ get_lan_param_select(struct ipmi_intf * intf, uint8_t chan, int param, int selec
 	struct ipmi_rq req;
 	uint8_t msg_data[4];
 
+	if (!intf)
+		return NULL;
+
 	p = &ipmi_lan_params[param];
 	if (p == NULL)
 		return NULL;
@@ -273,6 +282,9 @@ __set_lan_param(struct ipmi_intf * intf, uint8_t chan,
 	struct ipmi_rq req;
 	uint8_t msg_data[32];
 
+	if (!intf)
+		return -1;
+
 	if (param < 0)
 		return -1;
 
@@ -892,6 +904,9 @@ ipmi_lan_set_password(struct ipmi_intf * intf,
 	struct ipmi_rq req;
 	uint8_t data[18];
 
+	if (!intf)
+		return (-1);
+
 	memset(&data, 0, sizeof(data));
 	data[0] = userid & 0x3f;/* user ID */
 	data[1] = 0x02;		/* set password */
@@ -933,6 +948,9 @@ ipmi_set_alert_enable(struct ipmi_intf * intf, uint8_t channel, uint8_t enable)
 	struct ipmi_rq req;
 	uint8_t rqdata[3];
 
+	if (!intf)
+		return (-1);
+
 	memset(&req, 0, sizeof(req));
 
 	/* update non-volatile access */
@@ -1006,6 +1024,9 @@ ipmi_set_channel_access(struct ipmi_intf * intf, uint8_t channel, uint8_t enable
 	uint8_t rqdata[3];
 	uint8_t byteEnable;
 
+	if (!intf)
+		return (-1);
+
 	memset(&req, 0, sizeof(req));
 
 	/* RETREIVE VALUE IN NVRAM */
@@ -1116,6 +1137,9 @@ ipmi_set_user_access(struct ipmi_intf * intf, uint8_t channel, uint8_t userid)
 	struct ipmi_rq req;
 	uint8_t rqdata[4];
 
+	if (!intf)
+		return (-1);
+
 	memset(rqdata, 0, 4);
 	rqdata[0] = 0x90 | (channel & 0xf);
 	rqdata[1] = userid & 0x3f;
@@ -2102,6 +2126,9 @@ ipmi_lan_stats_get(struct ipmi_intf * intf, uint8_t chan)
 	uint8_t msg_data[2];
 	uint16_t statsTemp;
 
+	if (!intf)
+		return (-1);
+
 	if (!is_lan_channel(intf, chan)) {
 		lprintf(LOG_ERR, "Channel %d is not a LAN channel", chan);
 		return -1;
@@ -2179,6 +2206,9 @@ ipmi_lan_stats_clear(struct ipmi_intf * intf, uint8_t chan)
 	struct ipmi_rq req;
 	uint8_t msg_data[2];
 
+	if (!intf)
+		return (-1);
+
 	if (!is_lan_channel(intf, chan)) {
 		lprintf(LOG_ERR, "Channel %d is not a LAN channel", chan);
 		return -1;
-- 
1.7.4.4

