aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/rtl8188eu
diff options
context:
space:
mode:
authorColin Ian King <colin.king@canonical.com>2017-10-20 20:40:24 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-11-03 12:48:55 +0100
commit123c0aab0050cd0e07ce18e453389fbbb0a5a425 (patch)
tree50c7925452ed2f5ba632abd926a747f443c81954 /drivers/staging/rtl8188eu
parentstaging: rtl8188eu: Revert 4 commits breaking ARP (diff)
downloadlinux-dev-123c0aab0050cd0e07ce18e453389fbbb0a5a425.tar.xz
linux-dev-123c0aab0050cd0e07ce18e453389fbbb0a5a425.zip
staging: rtl8188eu: avoid a null dereference on pmlmepriv
There is a check on pmlmepriv before dereferencing it when vfree'ing pmlmepriv->free_bss_buf however the previous call to rtw_free_mlme_priv_ie_data deferences pmlmepriv causing a null pointer deference if it is null. Avoid this by also calling rtw_free_mlme_priv_ie_data if the pointer is non-null. Detected by CoverityScan, CID#1230262 ("Dereference before null check") Fixes: 7b464c9fa5cc ("staging: r8188eu: Add files for new driver - part 4") Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rtl8188eu')
-rw-r--r--drivers/staging/rtl8188eu/core/rtw_mlme.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme.c b/drivers/staging/rtl8188eu/core/rtw_mlme.c
index db2192963d3c..1cd49e292804 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme.c
@@ -106,10 +106,10 @@ void rtw_free_mlme_priv_ie_data(struct mlme_priv *pmlmepriv)
void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv)
{
- rtw_free_mlme_priv_ie_data(pmlmepriv);
-
- if (pmlmepriv)
+ if (pmlmepriv) {
+ rtw_free_mlme_priv_ie_data(pmlmepriv);
vfree(pmlmepriv->free_bss_buf);
+ }
}
struct wlan_network *_rtw_alloc_network(struct mlme_priv *pmlmepriv)