mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: alexander.levin@verizon.com
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Cc: Colin Ian King <colin.king@canonical.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	alexander.levin@verizon.com
Subject: [PATCH AUTOSEL for 4.9 07/24] staging: rtl8188eu: avoid a null dereference on pmlmepriv
Date: Wed, 22 Nov 2017 22:26:12 +0000	[thread overview]
Message-ID: <20171122222604.20122-7-alexander.levin@verizon.com> (raw)
In-Reply-To: <20171122222604.20122-1-alexander.levin@verizon.com>

From: Colin Ian King <colin.king@canonical.com>

[ Upstream commit 123c0aab0050cd0e07ce18e453389fbbb0a5a425 ]

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>

Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
 drivers/staging/rtl8188eu/core/rtw_mlme.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme.c b/drivers/staging/rtl8188eu/core/rtw_mlme.c
index ee2dcd05010f..0b60d1e0333e 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme.c
@@ -107,10 +107,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)
-- 
2.11.0

  parent reply	other threads:[~2017-11-22 22:37 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-22 22:26 [PATCH AUTOSEL for 4.9 01/24] ima: fix hash algorithm initialization alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 02/24] s390/pci: do not require AIS facility alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 04/24] staging: greybus: loopback: Fix iteration count on async path alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 05/24] m68k: fix ColdFire node shift size calculation alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 06/24] serial: 8250_fintek: Fix rs485 disablement on invalid ioctl() alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 03/24] selftests/x86/ldt_get: Add a few additional tests for limits alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 10/24] mmc: sdhci-msm: fix issue with power irq alexander.levin
2017-11-22 22:26 ` alexander.levin [this message]
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 09/24] spi: spi-axi: fix potential use-after-free after deregistration alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 08/24] spi: sh-msiof: Fix DMA transfer size check alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 14/24] serial: 8250: Preserve DLD[7:4] for PORT_XR17V35X alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 13/24] usb: phy: tahvo: fix error handling in tahvo_usb_probe() alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 11/24] usb: dwc2: Fix UDC state tracking alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 12/24] usb: dwc2: Error out of dwc2_hsotg_ep_disable() if we're in host mode alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 16/24] x86/entry: Use SYSCALL_DEFINE() macros for sys_modify_ldt() alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 15/24] kprobes: Use synchronize_rcu_tasks() for optprobe with CONFIG_PREEMPT=y alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 17/24] irqchip/gic: Make quirks matching conditional on init return value alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 18/24] EDAC, sb_edac: Fix missing break in switch alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 21/24] perf test attr: Fix ignored test case result alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 22/24] kprobes/x86: Disable preemption in ftrace-based jprobes alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 20/24] usbip: tools: Install all headers needed for libusbip development alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 19/24] sysrq : fix Show Regs call trace on ARM alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 24/24] iio: adc: ti-ads1015: add 10% to conversion wait time alexander.levin
2017-11-22 22:26 ` [PATCH AUTOSEL for 4.9 23/24] tools include: Do not use poison with C++ alexander.levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171122222604.20122-7-alexander.levin@verizon.com \
    --to=alexander.levin@verizon.com \
    --cc=colin.king@canonical.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®