From 17207894dacd9f82d6d81943ed1bb4903f1559ab Mon Sep 17 00:00:00 2001 From: Seungbae Shin Date: Thu, 27 Aug 2020 20:08:15 +0900 Subject: [PATCH] bluez5-discover: Fix Coverity defect of Resource leak(RESOURCE_LEAK) [Version] 13.0-18 [Issue Type] Vulnerability Change-Id: I1c4890be02b3443e11a33298ca61bcb4ac1182ba --- packaging/pulseaudio.spec | 2 +- src/modules/bluetooth/module-bluez5-discover.c | 19 +++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/packaging/pulseaudio.spec b/packaging/pulseaudio.spec index b2907e0..ec3e9f9 100644 --- a/packaging/pulseaudio.spec +++ b/packaging/pulseaudio.spec @@ -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 diff --git a/src/modules/bluetooth/module-bluez5-discover.c b/src/modules/bluetooth/module-bluez5-discover.c index 275da26..f514ef7 100644 --- a/src/modules/bluetooth/module-bluez5-discover.c +++ b/src/modules/bluetooth/module-bluez5-discover.c @@ -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); -- 2.7.4