hal: fix klockwork failures in audio hal

- Fix klockwork failures in audio_hw.c and platform.c

Change-Id: I4a3b7e11c9050c3b1f0fe4e3d564b879065b3203
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 038c8e7..a72ae38 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -1956,7 +1956,7 @@
     } else {
         voice_extn_out_get_parameters(out, query, reply);
         str = str_parms_to_str(reply);
-        if (!strncmp(str, "", sizeof(""))) {
+        if (str && !strncmp(str, "", sizeof(""))) {
             free(str);
             str = strdup(keys);
         }
@@ -3062,14 +3062,13 @@
 
 static void close_compress_sessions(struct audio_device *adev)
 {
-    struct stream_out *out = NULL;
-    struct listnode *node = NULL;
-    struct listnode *tmp = NULL;
-    struct audio_usecase *usecase = NULL;
+    struct stream_out *out;
+    struct listnode *node;
+    struct audio_usecase *usecase;
     pthread_mutex_lock(&adev->lock);
-    list_for_each_safe(node, tmp, &adev->usecase_list) {
+    list_for_each(node, &adev->usecase_list) {
         usecase = node_to_item(node, struct audio_usecase, list);
-        if (is_offload_usecase(usecase->id)) {
+        if (usecase && is_offload_usecase(usecase->id)) {
             if (usecase && usecase->stream.out) {
                 ALOGI(" %s closing compress session %d on OFFLINE state", __func__, usecase->id);
                 out = usecase->stream.out;
@@ -3491,7 +3490,7 @@
     } else
         in_standby(&stream->common);
 
-    if (audio_extn_ssr_get_enabled() && 
+    if (audio_extn_ssr_get_enabled() &&
             (audio_channel_count_from_in_mask(in->channel_mask) == 6)) {
         audio_extn_ssr_deinit();
     }
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
old mode 100755
new mode 100644
index 05953fb..3286ca5
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -2489,6 +2489,12 @@
     int ret = 0, err;
     char *kv_pairs = str_parms_to_str(parms);
 
+    if(kv_pairs == NULL) {
+        ret = -ENOMEM;
+        ALOGE("[%s] key-value pair is NULL",__func__);
+        goto done;
+    }
+
     ALOGV_IF(kv_pairs != NULL, "%s: enter: %s", __func__, kv_pairs);
 
     len = strlen(kv_pairs);
@@ -2568,7 +2574,8 @@
 
 done:
     ALOGV("%s: exit with code(%d)", __func__, ret);
-    free(kv_pairs);
+    if(kv_pairs != NULL)
+        free(kv_pairs);
     if(value != NULL)
         free(value);
     return ret;