2016-03-01 15:23:58

by Geliang Tang

[permalink] [raw]
Subject: [PATCH] staging: rtl8723au: fix static checker warning

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 <[email protected]>
---
drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

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;
--
2.5.0



2016-03-02 13:56:02

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] staging: rtl8723au: fix static checker warning

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 <[email protected]>

Looks good. Thanks.

regards,
dan carpenter