In functions that use key values, reset the local variables (key) to zero after use to avoid security vulnerability. Change-Id: I105b1abf7c707102ef99bbe4fa213708039d933e CRs-fixed: 2581402
@@ -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;
}
@@ -1104,6 +1104,9 @@ QDF_STATUS wlan_crypto_delkey(struct wlan_objmgr_vdev *vdev,
qdf_mem_free(key->private);
+
+ qdf_mem_zero(key, sizeof(struct wlan_crypto_key));
qdf_mem_free(key);
return QDF_STATUS_SUCCESS;