hal: Add NULL checks and fix data initialization errors.

Add proper checks to fix NULL pointer dereference issues and fix data initialization errors.

CRs-Fixed: 2125325
Change-Id: I7ecf4381c106f10bd601299654fca5de583010ad
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 0f82a38..2d5290e 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -2316,6 +2316,12 @@
 {
     int ret = 0;
     struct audio_usecase *uc_info;
+
+    if (in == NULL) {
+        ALOGE("%s: stream_in ptr is NULL", __func__);
+        return -EINVAL;
+    }
+
     struct audio_device *adev = in->dev;
 
     ALOGV("%s: enter: usecase(%d: %s)", __func__,
@@ -5187,6 +5193,12 @@
                        size_t bytes)
 {
     struct stream_in *in = (struct stream_in *)stream;
+
+    if (in == NULL) {
+        ALOGE("%s: stream_in ptr is NULL", __func__);
+        return -EINVAL;
+    }
+
     struct audio_device *adev = in->dev;
     int ret = -1;
     size_t bytes_read = 0;
@@ -6891,6 +6903,11 @@
     /* Disable echo reference while closing input stream */
     platform_set_echo_reference(adev, false, AUDIO_DEVICE_NONE);
 
+    if (in == NULL) {
+        ALOGE("%s: audio_stream_in ptr is NULL", __func__);
+        return;
+    }
+
     if (in->usecase == USECASE_COMPRESS_VOIP_CALL) {
         pthread_mutex_lock(&adev->lock);
         ret = voice_extn_compress_voip_close_input_stream(&stream->common);