diff mbox

staging: rtl8723au: fix static checker warning

Message ID 1e3c203b20c01a12078506469807a79ae6013955.1456845195.git.geliangtang@163.com (mailing list archive)
State Not Applicable
Delegated to: Kalle Valo
Headers show

Commit Message

Geliang Tang March 1, 2016, 3:22 p.m. UTC
Fix the following static checker warning:

 drivers/staging/rtl8723au/core/rtw_sta_mgt.c:365 rtw_get_stainfo23a()
 error: potential NULL dereference 'psta'.

Fixes: e280d71("staging: rtl8723au: use list_for_each_entry*()")
Signed-off-by: Geliang Tang <geliangtang@163.com>
---
 drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Dan Carpenter March 2, 2016, 1:55 p.m. UTC | #1
On Tue, Mar 01, 2016 at 11:22:23PM +0800, Geliang Tang wrote:
> Fix the following static checker warning:
> 
>  drivers/staging/rtl8723au/core/rtw_sta_mgt.c:365 rtw_get_stainfo23a()
>  error: potential NULL dereference 'psta'.
> 
> Fixes: e280d71("staging: rtl8723au: use list_for_each_entry*()")
> Signed-off-by: Geliang Tang <geliangtang@163.com>

Looks good.  Thanks.

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/staging/rtl8723au/core/rtw_sta_mgt.c b/drivers/staging/rtl8723au/core/rtw_sta_mgt.c
index 22d857b..5f85ee0 100644
--- a/drivers/staging/rtl8723au/core/rtw_sta_mgt.c
+++ b/drivers/staging/rtl8723au/core/rtw_sta_mgt.c
@@ -346,7 +346,7 @@  void rtw_free_all_stainfo23a(struct rtw_adapter *padapter)
 struct sta_info *rtw_get_stainfo23a(struct sta_priv *pstapriv, const u8 *hwaddr)
 {
 	struct list_head *phead;
-	struct sta_info *psta = NULL;
+	struct sta_info *pos, *psta = NULL;
 	u32 index;
 	const u8 *addr;
 
@@ -362,7 +362,9 @@  struct sta_info *rtw_get_stainfo23a(struct sta_priv *pstapriv, const u8 *hwaddr)
 
 	spin_lock_bh(&pstapriv->sta_hash_lock);
 	phead = &pstapriv->sta_hash[index];
-	list_for_each_entry(psta, phead, hash_list) {
+	list_for_each_entry(pos, phead, hash_list) {
+		psta = pos;
+
 		/*  if found the matched address */
 		if (ether_addr_equal(psta->hwaddr, addr))
 			break;