hal: utils: fix KW issues
Fix possible doble free of mixer and snd_card_name in function
audio_extn_utils_get_snd_card_num.
These were reported in recent KW reports for audio hal.
Change-Id: Ie3cf2a4e6d948ce45fd3d2291d466bb8629d96e4
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index 3052b23..9b0df8e 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -2004,14 +2004,19 @@
ALOGE("%s: Failed to init hardware info", __func__);
retry_num = 0;
snd_card_num++;
- free(snd_card_name);
- mixer_close(mixer);
- }
- mixer_close(mixer);
- hw_info_deinit(hw_info);
+ free(snd_card_name);
+ snd_card_name = NULL;
+
+ mixer_close(mixer);
+ mixer = NULL;
+ }
if (snd_card_name)
free(snd_card_name);
+ if (mixer)
+ mixer_close(mixer);
+ if (hw_info)
+ hw_info_deinit(hw_info);
if (snd_card_num >= MAX_SND_CARD) {
ALOGE("%s: Unable to find correct sound card, aborting.", __func__);