Fix USE_AFTER_FREE, DOUBLE_FREE 61/258061/1 accepted/tizen/unified/20210511.072220 submit/tizen/20210510.053422
authorJaechul Lee <jcsing.lee@samsung.com>
Mon, 10 May 2021 03:55:10 +0000 (12:55 +0900)
committerJaechul Lee <jcsing.lee@samsung.com>
Mon, 10 May 2021 04:08:18 +0000 (13:08 +0900)
[Version] 0.13.10
[Issue Type] Coverity, SVACE

Change-Id: I06b08f23f46bd7fde1ac03716d603fa06a97df9a
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
aec/loopback.c
packaging/libmm-sound.spec

index 56e87f7f766432d7a7f84fb39d6c0d60808908ce..305cc4a148d9d2d135859f0c872d97d6e5a04ac3 100644 (file)
@@ -180,10 +180,14 @@ static int __open_loopback_controls(loopback_t *loopback, const char *dev, const
        return 0;
 
 fail:
-       if (loopback->ctl)
+       if (loopback->ctl) {
                snd_ctl_close(loopback->ctl);
-       if (loopback->elm_active)
+               loopback->ctl = NULL;
+       }
+       if (loopback->elm_active) {
                snd_ctl_elem_value_free(loopback->elm_active);
+               loopback->elm_active = NULL;
+       }
 
        return -1;
 }
@@ -820,8 +824,6 @@ static int __open_dev(loopback_t *loopback, int index, struct pollfd *pfd)
                goto fail;
        }
 
-       snd_pcm_hw_params_free(hw_params);
-
        /* sw params */
        if ((err = snd_pcm_sw_params_malloc(&sw_params)) < 0) {
                LOGE("%s: cannot allocate software parameters structure(%s)\n", name, snd_strerror(err));
@@ -851,8 +853,6 @@ static int __open_dev(loopback_t *loopback, int index, struct pollfd *pfd)
                goto fail;
        }
 
-       snd_pcm_sw_params_free(sw_params);
-
        dev->period_size = period_size;
        dev->period_time = period_time;
        dev->buffer_size = buffer_size;
@@ -865,6 +865,9 @@ static int __open_dev(loopback_t *loopback, int index, struct pollfd *pfd)
                }
        }
 
+       snd_pcm_sw_params_free(sw_params);
+       snd_pcm_hw_params_free(hw_params);
+
        loopback->poll_cnt++;
 
        LOGI("%s dev(%s) opened successfully. rate(%d), ch(%d), request buffer_frame(%d)\n",
index d0b2d3e75ee9f2d309cf04f65cbdca3aefabe23c..94c2b52ed12eca26d0620301abd8edc2566c334f 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-sound
 Summary:    MMSound Package contains client lib and focus server binary
-Version:    0.13.9
+Version:    0.13.10
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0