From: Pooventhiran G Date: Tue, 27 Oct 2020 06:24:21 +0000 (+0530) Subject: nl80211: Check for proper nlmsg allocation in send_and_recv_msgs_owner() X-Git-Tag: hostap_2_10~794 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0577e8e679c3c74daaf927713c201998a85d8c2b;p=thirdparty%2Fhostap.git 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 --- diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 2ee34d11d..ffa0c467e 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: