diff --git a/hal/audio_extn/keep_alive.c b/hal/audio_extn/keep_alive.c
index 87cb122..8bd1da1 100644
--- a/hal/audio_extn/keep_alive.c
+++ b/hal/audio_extn/keep_alive.c
@@ -114,6 +114,11 @@
     struct keep_alive_cmd *cmd =
         (struct keep_alive_cmd *)calloc(1, sizeof(struct keep_alive_cmd));
 
+    if (cmd == NULL) {
+        ALOGE("%s: cmd is NULL", __func__);
+        return -ENOMEM;
+    }
+
     cmd->req = r;
     list_add_tail(&ka.cmd_list, &cmd->node);
     pthread_cond_signal(&ka.cond);
@@ -271,6 +276,12 @@
 
     /*send calibration*/
     usecase = calloc(1, sizeof(struct audio_usecase));
+
+    if (usecase == NULL) {
+        ALOGE("%s: usecase is NULL", __func__);
+        rc = -ENOMEM;
+        goto exit;
+    }
     usecase->type = PCM_PLAYBACK;
     usecase->out_snd_device = snd_device;
 
diff --git a/hal/audio_hw_extn_api.c b/hal/audio_hw_extn_api.c
index 0ee927e..20a27e8 100644
--- a/hal/audio_hw_extn_api.c
+++ b/hal/audio_hw_extn_api.c
@@ -325,7 +325,7 @@
             bytes_written = bytes;
         }
         ALOGV("%s: flag 0x%x, bytes %zd, read %zd, ret %zd timestamp 0x%"PRIx64"",
-              __func__, out->flags, bytes, bytes_written, ret, *timestamp);
+              __func__, out->flags, bytes, bytes_written, ret, timestamp == NULL ? 0 : *timestamp);
     } else {
         bytes_written = out->qahwi_out.base.write(&out->stream, buffer, bytes);
         ALOGV("%s: flag 0x%x, bytes %zd, read %zd, ret %zd",
diff --git a/qahw_api/test/qahw_effect_test.c b/qahw_api/test/qahw_effect_test.c
index 61b73a7..bc249f3 100644
--- a/qahw_api/test/qahw_effect_test.c
+++ b/qahw_api/test/qahw_effect_test.c
@@ -755,7 +755,7 @@
     int                      reply_data;
     uint32_t                 reply_size = sizeof(int);
     uint32_t array_size = sizeof(qahw_effect_param_t) + 2 * sizeof(int32_t);
-    uint32_t      buf32[array_size];
+    uint32_t      buf32[array_size], buf32_2[array_size];
     qahw_effect_param_t *values;
     int enable;
 
@@ -794,6 +794,8 @@
             }
             if (thr_ctxt->cmd_code == QAHW_EFFECT_CMD_ENABLE || thr_ctxt->cmd_code == QAHW_EFFECT_CMD_DISABLE) {
                 enable = ((thr_ctxt->cmd_code == QAHW_EFFECT_CMD_ENABLE) ? 1 : 0);
+
+                values = (qahw_effect_param_t *)buf32_2;
                 values->psize = 2 * sizeof(int32_t);
                 values->vsize = sizeof(int32_t);
                 *(int32_t *)values->data = ASPHERE_PARAM_ENABLE;
