[pulseaudio-discuss] [PATCH] Don't crash if DBus protocol module does not load
David Henningsson
david.henningsson at canonical.com
Thu Sep 22 04:57:56 PDT 2011
If module-dbus-protocol fails to start, pa__done is still called,
which falsified the assumption that u->connections was always set.
BugLink: http://bugs.launchpad.net/bugs/855729
Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
src/modules/dbus/module-dbus-protocol.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/modules/dbus/module-dbus-protocol.c b/src/modules/dbus/module-dbus-protocol.c
index ae9df20..c24e1e0 100644
--- a/src/modules/dbus/module-dbus-protocol.c
+++ b/src/modules/dbus/module-dbus-protocol.c
@@ -594,10 +594,12 @@ void pa__done(pa_module *m) {
if (u->core_iface)
pa_dbusiface_core_free(u->core_iface);
- while ((c = pa_idxset_steal_first(u->connections, NULL)))
- connection_free(c);
+ if (u->connections) {
+ while ((c = pa_idxset_steal_first(u->connections, NULL)))
+ connection_free(c);
- pa_idxset_free(u->connections, NULL, NULL);
+ pa_idxset_free(u->connections, NULL, NULL);
+ }
/* This must not be called before the connections are freed, because if
* there are any connections left, they will emit the
--
1.7.5.4
More information about the pulseaudio-discuss
mailing list