aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPooventhiran G <pooventh@codeaurora.org>2020-10-27 06:24:21 (GMT)
committerJouni Malinen <j@w1.fi>2020-10-27 09:39:45 (GMT)
commit0577e8e679c3c74daaf927713c201998a85d8c2b (patch)
tree06ac6f2acf780b184d9b9278182b8a23faeea3b5
parent02289ab537e94d47f01156b672c697ce78cdbab0 (diff)
downloadhostap-0577e8e679c3c74daaf927713c201998a85d8c2b.zip
hostap-0577e8e679c3c74daaf927713c201998a85d8c2b.tar.gz
hostap-0577e8e679c3c74daaf927713c201998a85d8c2b.tar.bz2
nl80211: Check for proper nlmsg allocation in send_and_recv_msgs_owner()
When nlmsg allocation fails, nl80211_drv_msg() returns NULL and the call to send_and_recv_msgs_owner() from nl80211_leave_ibss() could have ended up dereferencing a NULL pointer. Fix this by make send_and_recv_msgs_owner() more consistent with other send_and_recv*() cases that check msg == NULL internally. Fixes: 12ea7dee311b ("nl80211: Use nl80211 control port for receiving EAPOL frames") Signed-off-by: Pooventhiran G <pooventh@codeaurora.org>
-rw-r--r--src/drivers/driver_nl80211.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 2ee34d1..ffa0c46 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -502,6 +502,9 @@ static int send_and_recv_msgs_owner(struct wpa_driver_nl80211_data *drv,
void *),
void *ack_data)
{
+ if (!msg)
+ return -ENOMEM;
+
/* Control port over nl80211 needs the flags and attributes below.
*
* The Linux kernel has initial checks for them (in nl80211.c) like: