diff --git a/target_if/crypto/src/target_if_crypto.c b/target_if/crypto/src/target_if_crypto.c index e5a876c0275e..a3452d8ce3cc 100644 --- a/target_if/crypto/src/target_if_crypto.c +++ b/target_if/crypto/src/target_if_crypto.c @@ -220,6 +220,8 @@ QDF_STATUS target_if_crypto_set_key(struct wlan_objmgr_vdev *vdev, ¶ms.key_rsc_ctr, sizeof(uint64_t)); status = wmi_unified_setup_install_key_cmd(pdev_wmi_handle, ¶ms); + /* Zero-out local key variables */ + qdf_mem_zero(¶ms, sizeof(struct set_key_params)); return status; } diff --git a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c index fe4c1428c7d8..4087c4cfd2ef 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c +++ b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c @@ -1104,6 +1104,9 @@ QDF_STATUS wlan_crypto_delkey(struct wlan_objmgr_vdev *vdev, qdf_mem_free(key->private); } } + + /* Zero-out local key variables */ + qdf_mem_zero(key, sizeof(struct wlan_crypto_key)); qdf_mem_free(key); return QDF_STATUS_SUCCESS;