If alsa settings/options were used, the string to construct the
name was freed, leading to dangling pointers to strings inside
the hashmap.

BugLink: https://bugs.launchpad.net/bugs/932804
Signed-off-by: David Henningsson <david.hennings...@canonical.com>
---
 src/modules/alsa/alsa-mixer.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
index 9bf8069..7e6ef54 100644
--- a/src/modules/alsa/alsa-mixer.c
+++ b/src/modules/alsa/alsa-mixer.c
@@ -4397,7 +4397,7 @@ static pa_device_port* device_port_alsa_init(pa_hashmap 
*ports,
 
         p = pa_device_port_new(core, name, description, 
sizeof(pa_alsa_port_data));
         pa_assert(p);
-        pa_hashmap_put(ports, name, p);
+        pa_hashmap_put(ports, p->name, p);
         p->profiles = pa_hashmap_new(pa_idxset_string_hash_func, 
pa_idxset_string_compare_func);
 
         data = PA_DEVICE_PORT_DATA(p);
@@ -4412,7 +4412,7 @@ static pa_device_port* device_port_alsa_init(pa_hashmap 
*ports,
         pa_hashmap_put(p->profiles, cp->name, cp);
 
     if (extra) {
-        pa_hashmap_put(extra, name, p);
+        pa_hashmap_put(extra, p->name, p);
         pa_device_port_ref(p);
     }
 
-- 
1.7.9


** Tags added: precise

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/932804

Title:
  Ports hashmap contains dangling pointers

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/932804/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to