Fix SVACE defect (DEREF_OF_NULL.RET.ALLOC) 98/253798/1 accepted/tizen_unified tizen accepted/tizen/unified/20210219.095235 submit/tizen/20210219.045921
authorSeungbae Shin <seungbae.shin@samsung.com>
Thu, 18 Feb 2021 06:04:03 +0000 (15:04 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Thu, 18 Feb 2021 06:04:15 +0000 (15:04 +0900)
[Version] 0.1.12
[Issue Type] Svace

Change-Id: I3b99addff886186521c246f73eae05eb07473f29

packaging/audio-hal-wm1831-tw2.spec
tizen-audio-impl-ucm.c

index 2e82c2b..98ba93f 100644 (file)
@@ -1,6 +1,6 @@
 Name:       audio-hal-wm1831-tw2
 Summary:    TIZEN Audio HAL for WM1831(TW2)
-Version:    0.1.11
+Version:    0.1.12
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
index 7ff7cbc..094ee4f 100644 (file)
@@ -24,6 +24,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <assert.h>
 #ifdef ALSA_UCM_DEBUG_TIME
 #include <sys/time.h>
 #include <time.h>
@@ -170,28 +171,20 @@ audio_return_t _ucm_set_use_case(audio_hal_t *ah, const char *verb, const char *
         AUDIO_LOG_DEBUG("current verb and new verb is same. No need to change verb, disable devices explicitely");
 
         if (old_dev_count > 0) {
-            dis_dev_list = (const char **)malloc(sizeof(const char *) * old_dev_count);
-            for (i = 0; i < old_dev_count; i++) {
-                dis_dev_list[i] = NULL;
-            }
+            dis_dev_list = (const char **)calloc(old_dev_count, sizeof(const char *));
+            assert(dis_dev_list);
         }
         if (dev_count > 0) {
-            ena_dev_list = (const char **)malloc(sizeof(const char *) * dev_count);
-            for (i = 0; i < dev_count; i++) {
-                ena_dev_list[i] = NULL;
-            }
+            ena_dev_list = (const char **)calloc(dev_count, sizeof(const char *));
+            assert(ena_dev_list);
         }
         if (old_mod_count > 0) {
-            dis_mod_list = (const char **)malloc(sizeof(const char *) * old_mod_count);
-            for (i = 0; i < old_mod_count; i++) {
-                dis_mod_list[i] = NULL;
-            }
+            dis_mod_list = (const char **)calloc(old_mod_count, sizeof(const char *));
+            assert(dis_mod_list);
         }
         if (mod_count > 0) {
-            ena_mod_list = (const char **)malloc(sizeof(const char *) * mod_count);
-            for (i = 0; i < mod_count; i++) {
-                ena_mod_list[i] = NULL;
-            }
+            ena_mod_list = (const char **)calloc(mod_count, sizeof(const char *));
+            assert(ena_mod_list);
         }
 
         /* update disable modifiers list which are not present in new modifier list */
@@ -390,16 +383,12 @@ audio_return_t _ucm_set_devices(audio_hal_t *ah, const char *verb, const char *d
         AUDIO_LOG_DEBUG("current verb and new verb is same. No need to change verb, disable devices explicitely");
 
         if (old_dev_count > 0) {
-            dis_dev_list = (const char **)malloc(sizeof(const char *) * old_dev_count);
-            for (i = 0; i < old_dev_count; i++) {
-                dis_dev_list[i] = NULL;
-            }
+            dis_dev_list = (const char **)calloc(old_dev_count, sizeof(const char *));
+            assert(dis_dev_list);
         }
         if (dev_count > 0) {
-            ena_dev_list = (const char **)malloc(sizeof(const char *) * dev_count);
-            for (i = 0; i < dev_count; i++) {
-                ena_dev_list[i] = NULL;
-            }
+            ena_dev_list = (const char **)calloc(dev_count, sizeof(const char *));
+            assert(ena_dev_list);
         }
 
         /* update disable devices list which are not present in new device list */
@@ -525,16 +514,12 @@ audio_return_t _ucm_set_modifiers(audio_hal_t *ah, const char *verb, const char
         AUDIO_LOG_DEBUG("current verb and new verb is same. No need to change verb, disable devices explicitely");
 
         if (old_mod_count > 0) {
-            dis_mod_list = (const char **)malloc(sizeof(const char *) * old_mod_count);
-            for (i = 0; i < old_mod_count; i++) {
-                dis_mod_list[i] = NULL;
-            }
+            dis_mod_list = (const char **)calloc(old_mod_count, sizeof(const char *));
+            assert(dis_mod_list);
         }
         if (mod_count > 0) {
-            ena_mod_list = (const char **)malloc(sizeof(const char *) * mod_count);
-            for (i = 0; i < mod_count; i++) {
-                ena_mod_list[i] = NULL;
-            }
+            ena_mod_list = (const char **)calloc(mod_count, sizeof(const char *));
+            assert(ena_mod_list);
         }
 
         /* update disable modifiers list which are not present in new modifier list */