From c3c8b8b34f727ecd7f4b6274c259877d493ff755 Mon Sep 17 00:00:00 2001 From: Krunal Soni Date: Mon, 19 Jun 2017 13:52:37 -0700 Subject: [PATCH] qcacld-3.0: Add NULL check before passing VDEV object VDEV object has not been checked against NULL value before passing as part of message to a next layer CRs-Fixed: 2063561 Change-Id: I9c7ad08f1e201779cb433044a1525555a2ccaa34 --- core/sme/src/csr/csr_api_roam.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index b692e1e75f45..4833251c3928 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -18578,11 +18578,18 @@ void csr_release_command(tpAniSirGlobal mac_ctx, tSmeCmd *sme_cmd) { struct wlan_serialization_queued_cmd_info cmd_info; struct wlan_serialization_command cmd; + struct wlan_objmgr_vdev *vdev; if (!sme_cmd) { sme_err("sme_cmd is NULL"); return; } + vdev = wlan_objmgr_get_vdev_by_id_from_psoc(mac_ctx->psoc, + sme_cmd->sessionId, WLAN_LEGACY_SME_ID); + if (!vdev) { + sme_err("Invalid vdev"); + return; + } qdf_mem_zero(&cmd_info, sizeof(struct wlan_serialization_queued_cmd_info)); if (sme_cmd->command == eSmeCommandScan || @@ -18597,11 +18604,8 @@ void csr_release_command(tpAniSirGlobal mac_ctx, tSmeCmd *sme_cmd) cmd_info.req_type = WLAN_SER_CANCEL_NON_SCAN_CMD; } cmd_info.cmd_type = csr_get_cmd_type(sme_cmd); - cmd_info.vdev = wlan_objmgr_get_vdev_by_id_from_psoc( - mac_ctx->psoc, sme_cmd->sessionId, - WLAN_LEGACY_SME_ID); - qdf_mem_zero(&cmd, - sizeof(struct wlan_serialization_command)); + cmd_info.vdev = vdev; + qdf_mem_zero(&cmd, sizeof(struct wlan_serialization_command)); cmd.cmd_id = cmd_info.cmd_id; cmd.cmd_type = cmd_info.cmd_type; cmd.vdev = cmd_info.vdev;