Browse Source

qcacld-3.0: Avoid NULL pointer dereferenced

Pointer 'driver_sync' returned from call to function
'__osif_driver_sync_trans_start' may be NULL and will be dereferenced.

CRs-Fixed: 3566149
Change-Id: Ibf75390bcdf246f2f96f331cb6123b78aea33203
Chunquan Luo 1 year ago
parent
commit
dabad521e8
1 changed files with 6 additions and 3 deletions
  1. 6 3
      core/hdd/src/wlan_hdd_main.c

+ 6 - 3
core/hdd/src/wlan_hdd_main.c

@@ -19472,7 +19472,8 @@ pld_deinit:
 	QDF_BUG(QDF_IS_STATUS_SUCCESS(status));
 
 	osif_driver_sync_unregister();
-	osif_driver_sync_wait_for_ops(driver_sync);
+	if (driver_sync)
+		osif_driver_sync_wait_for_ops(driver_sync);
 
 	hdd_driver_mode_change_unregister();
 	pld_deinit();
@@ -19490,8 +19491,10 @@ comp_cb_deinit:
 hdd_deinit:
 	hdd_deinit();
 trans_stop:
-	osif_driver_sync_trans_stop(driver_sync);
-	osif_driver_sync_destroy(driver_sync);
+	if (driver_sync) {
+		osif_driver_sync_trans_stop(driver_sync);
+		osif_driver_sync_destroy(driver_sync);
+	}
 sync_deinit:
 	osif_sync_deinit();
 	hdd_qdf_deinit();