]> code.delx.au - pulseaudio/commitdiff
http: fix segfault on connection termination
authorLennart Poettering <lennart@poettering.net>
Tue, 12 May 2009 15:08:34 +0000 (17:08 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 12 May 2009 15:08:34 +0000 (17:08 +0200)
src/pulsecore/protocol-http.c

index b5d75301f1d6611f6eff7fed93a8849a7cb33a15..5220cc918543221bd653c8655ad91a1d99a1d95d 100644 (file)
@@ -111,6 +111,7 @@ static void connection_unlink(struct connection *c) {
 
     if (c->source_output) {
         pa_source_output_unlink(c->source_output);
+        c->source_output->userdata = NULL;
         pa_source_output_unref(c->source_output);
     }
 
@@ -190,7 +191,9 @@ static int source_output_process_msg(pa_msgobject *m, int code, void *userdata,
     struct connection *c;
 
     pa_source_output_assert_ref(o);
-    pa_assert_se(c = o->userdata);
+
+    if (!(c = o->userdata))
+        return -1;
 
     switch (code) {