audio: hal: Adding safe checks to avoid crash

Added checks for parameter validation.

Change-Id: I9cf7f967b0c9be222b37ea2cca69161073460c83
diff --git a/hal/audio_extn/audio_extn.c b/hal/audio_extn/audio_extn.c
index 92b7c4f..c1c4460 100644
--- a/hal/audio_extn/audio_extn.c
+++ b/hal/audio_extn/audio_extn.c
@@ -1439,11 +1439,11 @@
     int ret = -EINVAL;
     struct stream_out out;
     uint32_t snd_device = 0, backend_idx = 0;
-    struct audio_device_config_param *adev_device_cfg_ptr = adev->device_cfg_params;
+    struct audio_device_config_param *adev_device_cfg_ptr;
 
     ALOGV("%s", __func__);
 
-    if (!device_cfg_params || !adev) {
+    if (!device_cfg_params || !adev || !adev->device_cfg_params) {
         ALOGE("%s:: Invalid Param", __func__);
         return ret;
     }
@@ -1454,6 +1454,7 @@
         return ret;
     }
 
+    adev_device_cfg_ptr = adev->device_cfg_params;
     /* Create an out stream to get snd device from audio device */
     out.devices = device_cfg_params->device;
     out.sample_rate = device_cfg_params->sample_rate;
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index 677dfd4..c01e6f7 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -2256,8 +2256,8 @@
 {
     int ret = -EINVAL, i = 0, j = 0;
 
-    if (mm_params == NULL && out != NULL) {
-        ALOGE("%s:: Invalid mix matrix params", __func__);
+    if (mm_params == NULL || out == NULL) {
+        ALOGE("%s:: Invalid mix matrix or out param", __func__);
         goto exit;
     }
 
@@ -2305,7 +2305,7 @@
     struct audio_usecase *usecase = NULL;
 
     if (mm_params == NULL || out == NULL) {
-        ALOGE("%s:: Invalid mix matrix params", __func__);
+        ALOGE("%s:: Invalid mix matrix or out param", __func__);
         goto exit;
     }
 
@@ -2316,11 +2316,10 @@
         goto exit;
 
     usecase = get_usecase_from_list(out->dev, out->usecase);
-    if (usecase == NULL) {
-        ALOGE("%s: Invalid usecase", __func__);
+    if (!usecase) {
+        ALOGE("%s: Get usecase list failed!", __func__);
         goto exit;
     }
-
     out->downmix_params.num_output_channels = mm_params->num_output_channels;
     out->downmix_params.num_input_channels = mm_params->num_input_channels;