diff options
author | Pooventhiran G <pooventh@codeaurora.org> | 2020-10-27 06:24:21 (GMT) |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2020-10-27 09:39:45 (GMT) |
commit | 0577e8e679c3c74daaf927713c201998a85d8c2b (patch) | |
tree | 06ac6f2acf780b184d9b9278182b8a23faeea3b5 | |
parent | 02289ab537e94d47f01156b672c697ce78cdbab0 (diff) | |
download | hostap-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.c | 3 |
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: |