summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2011-09-01 12:23:21 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2011-09-06 16:36:00 -0700
commitd7613e535e9892ff12aa31b3c62f1be839546ff9 (patch)
tree287ce7f645028d5b351581dd83ff65fc256edb6a
parent2eed3dee92453c1798f0932613b1b66f0763ab2e (diff)
staging: rtl8192e: Fix various problems noted by smatch
Smatch reports the following problems: CHECK drivers/staging/rtl8192e/rtllib_softmac.c drivers/staging/rtl8192e/rtllib_softmac.c +3143 rtllib_softmac_free(4) info: redundant null check on ieee->pDot11dInfo calling kfree() CHECK drivers/staging/rtl8192e/rtllib_module.c drivers/staging/rtl8192e/rtllib_module.c +198 free_rtllib(6) info: redundant null check on ieee->pHTInfo calling kfree() CHECK drivers/staging/rtl8192e/rtl819x_TSProc.c drivers/staging/rtl8192e/rtl819x_TSProc.c +280 SearchAdmitTRStream(52) error: potential null derefence 'pRet'. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/rtl8192e/rtl819x_TSProc.c2
-rw-r--r--drivers/staging/rtl8192e/rtllib_module.c7
-rw-r--r--drivers/staging/rtl8192e/rtllib_softmac.c6
3 files changed, 6 insertions, 9 deletions
diff --git a/drivers/staging/rtl8192e/rtl819x_TSProc.c b/drivers/staging/rtl8192e/rtl819x_TSProc.c
index 5323a9c7bca..09a602f7432 100644
--- a/drivers/staging/rtl8192e/rtl819x_TSProc.c
+++ b/drivers/staging/rtl8192e/rtl819x_TSProc.c
@@ -277,7 +277,7 @@ static struct ts_common_info *SearchAdmitTRStream(struct rtllib_device *ieee,
break;
}
- if (&pRet->List != psearch_list)
+ if (pRet && &pRet->List != psearch_list)
return pRet ;
else
return NULL;
diff --git a/drivers/staging/rtl8192e/rtllib_module.c b/drivers/staging/rtl8192e/rtllib_module.c
index 0fe67a54edd..c36a140a456 100644
--- a/drivers/staging/rtl8192e/rtllib_module.c
+++ b/drivers/staging/rtl8192e/rtllib_module.c
@@ -194,10 +194,9 @@ void free_rtllib(struct net_device *dev)
struct rtllib_device *ieee = (struct rtllib_device *)
netdev_priv_rsl(dev);
int i;
- if (ieee->pHTInfo != NULL) {
- kfree(ieee->pHTInfo);
- ieee->pHTInfo = NULL;
- }
+
+ kfree(ieee->pHTInfo);
+ ieee->pHTInfo = NULL;
rtllib_softmac_free(ieee);
del_timer_sync(&ieee->crypt_deinit_timer);
rtllib_crypt_deinit_entries(ieee, 1);
diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rtl8192e/rtllib_softmac.c
index a420ed1a947..b5086850f0d 100644
--- a/drivers/staging/rtl8192e/rtllib_softmac.c
+++ b/drivers/staging/rtl8192e/rtllib_softmac.c
@@ -3139,10 +3139,8 @@ void rtllib_softmac_init(struct rtllib_device *ieee)
void rtllib_softmac_free(struct rtllib_device *ieee)
{
down(&ieee->wx_sem);
- if (NULL != ieee->pDot11dInfo) {
- kfree(ieee->pDot11dInfo);
- ieee->pDot11dInfo = NULL;
- }
+ kfree(ieee->pDot11dInfo);
+ ieee->pDot11dInfo = NULL;
del_timer_sync(&ieee->associate_timer);
cancel_delayed_work(&ieee->associate_retry_wq);