Blame SOURCES/0130-guard-against-NULL-ptr-during-discovery-from-unexpec.patch

d94dff
From 46bc7ff0091af95735c03995be7d6002b03944dd Mon Sep 17 00:00:00 2001
d94dff
From: Chris Leech <cleech@redhat.com>
d94dff
Date: Mon, 17 Nov 2014 21:34:06 -0800
d94dff
Subject: [PATCH] guard against NULL ptr during discovery from unexpected event
d94dff
d94dff
When demand loading drivers during discovery, iscsiadm can receive an
d94dff
unexpected netlink event, like a link up, when looking for a discovery
d94dff
session login status.  That could expose krecv_conn_state to a
d94dff
connection without a valid recv_context pointer.
d94dff
Guard against that to prevent the NULL dereference.
d94dff
d94dff
Signed-off-by: Chris Leech <cleech@redhat.com>
d94dff
---
d94dff
 usr/netlink.c | 4 ++++
d94dff
 1 file changed, 4 insertions(+)
d94dff
d94dff
diff --git a/usr/netlink.c b/usr/netlink.c
d94dff
index 1c4b5cc..18be5e5 100644
d94dff
--- a/usr/netlink.c
d94dff
+++ b/usr/netlink.c
d94dff
@@ -1035,6 +1035,10 @@ static int krecv_conn_state(struct iscsi_conn *conn, uint32_t *state)
d94dff
 		/* fatal handling error or conn error */
d94dff
 		goto exit;
d94dff
 
d94dff
+        /* unexpected event without a receive context */
d94dff
+        if (!conn->recv_context)
d94dff
+                return -EAGAIN;
d94dff
+
d94dff
 	*state = *(enum iscsi_conn_state *)conn->recv_context->data;
d94dff
 
d94dff
 	ipc_ev_clbk->put_ev_context(conn->recv_context);
d94dff
-- 
d94dff
1.9.3
d94dff