From 4b001d974fd70f03c6beb0d4434ce3dd48b4e344 Mon Sep 17 00:00:00 2001 From: Abdul Muqtadeer Ahmed Date: Thu, 29 Oct 2020 11:09:09 +0530 Subject: [PATCH] qcacld-3.0: Avoid memory leak Memory is created for the mlme legacy pointer during the create of the mlme legacy priv object. This allocated memory doesn't get free when an error condition which leads to device crash. To avoid this problem memory should be freed before returning from the error condition. Change-Id: I8aaaf7bf17cf38f70135e5ff00db429c34aff2d8 CRs-Fixed: 2803896 --- components/mlme/core/src/wlan_mlme_vdev_mgr_interface.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/mlme/core/src/wlan_mlme_vdev_mgr_interface.c b/components/mlme/core/src/wlan_mlme_vdev_mgr_interface.c index 1c1b375fc8af..884c287e4c11 100644 --- a/components/mlme/core/src/wlan_mlme_vdev_mgr_interface.c +++ b/components/mlme/core/src/wlan_mlme_vdev_mgr_interface.c @@ -1157,6 +1157,7 @@ QDF_STATUS vdevmgr_mlme_ext_hdl_create(struct vdev_mlme_obj *vdev_mlme) &vdev_mlme->mgmt.generic.subtype); if (QDF_IS_STATUS_ERROR(status)) { mlme_err("Get vdev type failed; status:%d", status); + qdf_mem_free(vdev_mlme->ext_vdev_ptr); return status; } @@ -1164,6 +1165,7 @@ QDF_STATUS vdevmgr_mlme_ext_hdl_create(struct vdev_mlme_obj *vdev_mlme) if (QDF_IS_STATUS_ERROR(status)) { mlme_err("Failed to create vdev for vdev id %d", wlan_vdev_get_id(vdev_mlme->vdev)); + qdf_mem_free(vdev_mlme->ext_vdev_ptr); return status; }