Skip to content

Commit 58d5b7d

Browse files
committed
audio: mic_privacy_manager: Fix NULL pointer dereference in ZTest
Add null checks for hardware device pointers that may not be available when running in ZTest environments without real hardware. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
1 parent 6adec5b commit 58d5b7d

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

src/audio/mic_privacy_manager/mic_privacy_manager_intel.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,15 @@ int mic_privacy_manager_init(void)
9595
if (!mic_priv_dev)
9696
return -EINVAL;
9797

98+
if (!device_is_ready(mic_priv_dev)) {
99+
LOG_ERR("mic_privacy device not ready");
100+
/* Clear the handle so later helpers take their !mic_priv_dev
101+
* path instead of dereferencing a device that is not ready
102+
*/
103+
mic_priv_dev = NULL;
104+
return -ENODEV;
105+
}
106+
98107
mic_privacy_api = (struct mic_privacy_api_funcs *)mic_priv_dev->api;
99108
mic_privacy_policy = mic_privacy_api->get_policy();
100109

@@ -109,6 +118,9 @@ int mic_privacy_manager_init(void)
109118

110119
int mic_privacy_manager_get_policy(void)
111120
{
121+
if (!mic_priv_dev)
122+
return MIC_PRIVACY_HW_MANAGED;
123+
112124
mic_privacy_api = (struct mic_privacy_api_funcs *)mic_priv_dev->api;
113125

114126
return mic_privacy_api->get_policy();

0 commit comments

Comments
 (0)