---
 src/modules/bluetooth/bluetooth-util.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/modules/bluetooth/bluetooth-util.c 
b/src/modules/bluetooth/bluetooth-util.c
index 0daf1c9..39c5c5e 100644
--- a/src/modules/bluetooth/bluetooth-util.c
+++ b/src/modules/bluetooth/bluetooth-util.c
@@ -1178,6 +1178,11 @@ static DBusMessage 
*endpoint_set_configuration(DBusConnection *conn, DBusMessage
     if (!d)
         goto fail;
 
+    if (pa_hashmap_get(d->transports, path)) {
+        pa_log("org.bluez.MediaEndpoint.SetConfiguration: Device %s already 
has transport %s.", d->path, path);
+        goto fail;
+    }
+
     if (dbus_message_has_path(m, HFP_AG_ENDPOINT))
         p = PROFILE_HSP;
     else if (dbus_message_has_path(m, HFP_HS_ENDPOINT))
@@ -1192,7 +1197,7 @@ static DBusMessage 
*endpoint_set_configuration(DBusConnection *conn, DBusMessage
     t = transport_new(d, sender, path, p, config, size);
     if (nrec)
         t->nrec = nrec;
-    pa_hashmap_put(d->transports, t->path, t);
+    pa_assert_se(pa_hashmap_put(d->transports, t->path, t) >= 0);
 
     pa_log_debug("Transport %s profile %d available", t->path, t->profile);
 
-- 
1.7.10.4

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to