Fix SVACE defect (DEREF_OF_NULL.RET.ALLOC) 29/254829/1 accepted/tizen_unified tizen accepted/tizen/unified/20210310.144848 submit/tizen/20210310.040512
authorSeungbae Shin <seungbae.shin@samsung.com>
Wed, 10 Mar 2021 02:28:48 +0000 (11:28 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Wed, 10 Mar 2021 02:28:48 +0000 (11:28 +0900)
[Version] 0.1.14
[Issue Type] Svace

Change-Id: I7b35b84817149f114631ee5308104ee36320a284

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

index f9cdb6cdc372dba7450a8d4be4aa51cc9b639d1b..d2da535f6a8b452e52bd5a46be35e0e80e99541d 100644 (file)
@@ -1,6 +1,6 @@
 Name:       audio-hal-wm1831
 Summary:    TIZEN Audio HAL for WM1831
-Version:    0.1.13
+Version:    0.1.14
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
index 2c4261396231935632b3d5c2a2c7c576792f3a91..8d7e83a75c5763c5065e0420e919ff786827d7ed 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 */
@@ -378,16 +371,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 */
@@ -513,16 +502,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 */
@@ -648,4 +633,4 @@ audio_return_t _ucm_reset_use_case(audio_hal_t *ah)
     }
 
     return ret;
-}
\ No newline at end of file
+}