summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-03-31 20:31:15 +0200
committerLennart Poettering <lennart@poettering.net>2009-03-31 20:31:15 +0200
commitef5af553d6bb27d88a97f407fcf9f685f7e36e49 (patch)
treea935450ebf6db86c032167a2ebb97d7c32a6f038
parent2a32de1eaa15624b3d773115d849dba863ca5a44 (diff)
fix an error where a signal was accidently freed when it is tried to register it twice
-rw-r--r--src/pulse/mainloop-signal.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/pulse/mainloop-signal.c b/src/pulse/mainloop-signal.c
index 52f11c80..3dc74398 100644
--- a/src/pulse/mainloop-signal.c
+++ b/src/pulse/mainloop-signal.c
@@ -170,7 +170,7 @@ pa_signal_event* pa_signal_new(int sig, pa_signal_cb_t _callback, void *userdata
for (e = signals; e; e = e->next)
if (e->sig == sig)
- goto fail;
+ return NULL;
e = pa_xnew(pa_signal_event, 1);
e->sig = sig;
@@ -196,8 +196,7 @@ pa_signal_event* pa_signal_new(int sig, pa_signal_cb_t _callback, void *userdata
return e;
fail:
- if (e)
- pa_xfree(e);
+ pa_xfree(e);
return NULL;
}