hal: Fix memory leak in audio HAL
Fix memory leak while converting the key value pairs to
string. Free the string array after printing it.
CRs-fixed: 722256
Change-Id: I7e081ea1cd38bf28cd0b53b2c479e6644b189903
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index fb8d2ef..39b8a14 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -1786,8 +1786,11 @@
char value[256] = {0};
int val;
int ret = 0, err;
+ char *kv_pairs = NULL;
- ALOGV("%s: enter: %s", __func__, str_parms_to_str(parms));
+ kv_pairs = str_parms_to_str(parms);
+ ALOGV("%s: enter: - %s", __func__, kv_pairs);
+ free(kv_pairs);
err = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_SLOWTALK, value, sizeof(value));
if (err >= 0) {
@@ -1932,6 +1935,7 @@
char *str = NULL;
char value[256] = {0};
int ret;
+ char *kv_pairs = NULL;
ret = str_parms_get_str(query, AUDIO_PARAMETER_KEY_SLOWTALK,
value, sizeof(value));
@@ -1952,7 +1956,9 @@
str_parms_add_str(reply, AUDIO_PARAMETER_KEY_VOLUME_BOOST, value);
}
- ALOGV("%s: exit: returns - %s", __func__, str_parms_to_str(reply));
+ kv_pairs = str_parms_to_str(reply);
+ ALOGV("%s: exit: returns - %s", __func__, kv_pairs);
+ free(kv_pairs);
}
/* Delay in Us */