diff options
| author | Yue Ma <yuem@qca.qualcomm.com> | 2014-01-15 15:37:52 -0800 |
|---|---|---|
| committer | Prakash Dhavali <pdhavali@qca.qualcomm.com> | 2014-01-26 20:08:19 -0800 |
| commit | 371f8a5144842bc18ed4e40496364b0eebe03a9e (patch) | |
| tree | e74c6a9f5ca5af20a30f775a7a0f6996b1e86ecd | |
| parent | a3011d521f696d0ccab96671ce610e1a1cb5707a (diff) | |
qcacld: Static source code analysis fixes for VOSS.
Pointer should be checked if it's null or not before dereference.
Change-Id: I2083ce4eba37857282df2de0ad5678bc1e33c11b
CRs-Fixed: 601548
| -rw-r--r-- | CORE/VOSS/src/vos_api.c | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/CORE/VOSS/src/vos_api.c b/CORE/VOSS/src/vos_api.c index dd17d6526bb1..c5cdfe2b577e 100644 --- a/CORE/VOSS/src/vos_api.c +++ b/CORE/VOSS/src/vos_api.c @@ -258,6 +258,7 @@ VOS_STATUS vos_open( v_CONTEXT_t *pVosContext, v_SIZE_t hddContextSize ) HTC_INIT_INFO htcInfo; #ifndef QCA_WIFI_ISOC struct ol_softc *scn; + v_VOID_t *HTCHandle; #endif #endif hdd_context_t *pHddCtx; @@ -334,12 +335,17 @@ VOS_STATUS vos_open( v_CONTEXT_t *pVosContext, v_SIZE_t hddContextSize ) VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_FATAL, "%s: Hdd Context is Null", __func__); VOS_ASSERT(0); - goto err_nv_close; + goto err_sched_close; } #ifdef QCA_WIFI_2_0 #ifndef QCA_WIFI_ISOC scn = vos_get_context(VOS_MODULE_ID_HIF, gpVosContext); + if (!scn) { + VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_FATAL, + "%s: scn is null!", __func__); + goto err_sched_close; + } scn->enableuartprint = pHddCtx->cfg_ini->enablefwprint; scn->enablefwlog = pHddCtx->cfg_ini->enablefwlog; scn->max_no_of_peers = pHddCtx->cfg_ini->maxNumberOfPeers; @@ -368,7 +374,7 @@ VOS_STATUS vos_open( v_CONTEXT_t *pVosContext, v_SIZE_t hddContextSize ) } #ifndef QCA_WIFI_ISOC - if (bmi_done(vos_get_context(VOS_MODULE_ID_HIF, gpVosContext))) { + if (bmi_done(scn)) { VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_FATAL, "%s: Failed to complete BMI phase", __func__); goto err_htc_close; @@ -434,7 +440,13 @@ VOS_STATUS vos_open( v_CONTEXT_t *pVosContext, v_SIZE_t hddContextSize ) * there is no ned to define gSoftApMaxPeers ini for Rome >= 1.3 */ pHddCtx->cfg_ini->maxNumberOfPeers = macOpenParms.maxStation - 1; - if (HTCWaitTarget(vos_get_context(VOS_MODULE_ID_HTC, gpVosContext))) { + HTCHandle = vos_get_context(VOS_MODULE_ID_HTC, gpVosContext); + if (!HTCHandle) { + VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_FATAL, + "%s: HTCHandle is null!", __func__); + goto err_wda_close; + } + if (HTCWaitTarget(HTCHandle)) { VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_FATAL, "%s: Failed to complete BMI phase", __func__); goto err_wda_close; @@ -569,7 +581,7 @@ err_htc_close: #ifndef QCA_WIFI_ISOC err_bmi_close: - BMICleanup(vos_get_context(VOS_MODULE_ID_HIF, gpVosContext)); + BMICleanup(scn); #endif /* #ifndef QCA_WIFI_ISOC */ #endif /* #ifdef QCA_WIFI_2_0 */ @@ -620,7 +632,9 @@ VOS_STATUS vos_preStart( v_CONTEXT_t vosContext ) { VOS_STATUS vStatus = VOS_STATUS_SUCCESS; pVosContextType pVosContext = (pVosContextType)vosContext; - +#if defined(QCA_WIFI_2_0) && !defined(QCA_WIFI_ISOC) + v_VOID_t *scn; +#endif VOS_TRACE(VOS_MODULE_ID_SYS, VOS_TRACE_LEVEL_INFO, "vos prestart"); @@ -630,6 +644,15 @@ VOS_STATUS vos_preStart( v_CONTEXT_t vosContext ) VOS_ASSERT( NULL != pVosContext->pWDAContext); +#if defined(QCA_WIFI_2_0) && !defined(QCA_WIFI_ISOC) + scn = vos_get_context(VOS_MODULE_ID_HIF, gpVosContext); + if (!scn) { + VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_FATAL, + "%s: scn is null!", __func__); + return VOS_STATUS_E_FAILURE; + } +#endif + /* call macPreStart */ vStatus = macPreStart(gpVosContext->pMACContext); if ( !VOS_IS_STATUS_SUCCESS(vStatus) ) @@ -700,7 +723,7 @@ VOS_STATUS vos_preStart( v_CONTEXT_t vosContext ) { VOS_TRACE(VOS_MODULE_ID_SYS, VOS_TRACE_LEVEL_FATAL, "Failed to get ready event from target firmware"); - HTCSetTargetToSleep(vos_get_context(VOS_MODULE_ID_HIF, gpVosContext)); + HTCSetTargetToSleep(scn); macStop(gpVosContext->pMACContext, HAL_STOP_TYPE_SYS_DEEP_SLEEP); ccmStop(gpVosContext->pMACContext); HTCStop(gpVosContext->htc_ctx); @@ -708,7 +731,7 @@ VOS_STATUS vos_preStart( v_CONTEXT_t vosContext ) return VOS_STATUS_E_FAILURE; } - HTCSetTargetToSleep(vos_get_context(VOS_MODULE_ID_HIF, gpVosContext)); + HTCSetTargetToSleep(scn); #endif #endif /* QCA_WIFI_2_0 */ |
