bluez5-discover: Fix Coverity defect of Resource leak(RESOURCE_LEAK) 24/242524/2 accepted/tizen/unified/20200828.121432 submit/tizen/20200828.005944
authorSeungbae Shin <seungbae.shin@samsung.com>
Thu, 27 Aug 2020 11:08:15 +0000 (20:08 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Thu, 27 Aug 2020 11:37:09 +0000 (20:37 +0900)
[Version] 13.0-18
[Issue Type] Vulnerability

Change-Id: I1c4890be02b3443e11a33298ca61bcb4ac1182ba

packaging/pulseaudio.spec
src/modules/bluetooth/module-bluez5-discover.c

index b2907e0..ec3e9f9 100644 (file)
@@ -3,7 +3,7 @@
 Name:             pulseaudio
 Summary:          Improved Linux sound server
 Version:          13.0
-Release:          17
+Release:          18
 Group:            Multimedia/Audio
 License:          LGPL-2.1
 URL:              http://pulseaudio.org
index 275da26..f514ef7 100644 (file)
@@ -91,19 +91,18 @@ static pa_hook_result_t device_connection_changed_cb(pa_bluetooth_discovery *y,
         /* a new device has been connected */
         pa_module *m;
 #ifdef __TIZEN_BT__
-        char *args = pa_sprintf_malloc("address=\"%s\" path=\"%s\" autodetect_mtu=%i", d->address, d->path, (int)u->autodetect_mtu);
-#else
-        char *args = pa_sprintf_malloc("path=%s autodetect_mtu=%i", d->path, (int)u->autodetect_mtu);
-#endif
+        const char *profile = NULL;
 
-#ifdef __TIZEN_BT__
-        if (pa_bluetooth_device_sink_transport_connected(d) == true)
-            args = pa_sprintf_malloc("%s profile=\"a2dp_sink\"", args);
+        if (pa_bluetooth_device_sink_transport_connected(d))
+            profile = "a2dp_sink";
+        else if (pa_bluetooth_device_source_transport_connected(d))
+            profile = "a2dp_source";
 
-        if (pa_bluetooth_device_source_transport_connected(d) == true)
-            args = pa_sprintf_malloc("%s profile=\"a2dp_source\"", args);
+        char *args = pa_sprintf_malloc("address=\"%s\" path=\"%s\" autodetect_mtu=%i profile=\"%s\"",
+                                      d->address, d->path, (int)u->autodetect_mtu, pa_strnull(profile));
+#else
+        char *args = pa_sprintf_malloc("path=%s autodetect_mtu=%i", d->path, (int)u->autodetect_mtu);
 #endif
-
         pa_log_debug("Loading module-bluez5-device %s", args);
         pa_module_load(&m, u->module->core, "module-bluez5-device", args);
         pa_xfree(args);