diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-03-31 20:31:15 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-03-31 20:31:15 +0200 |
commit | ef5af553d6bb27d88a97f407fcf9f685f7e36e49 (patch) | |
tree | a935450ebf6db86c032167a2ebb97d7c32a6f038 /src/pulse/mainloop-signal.c | |
parent | 2a32de1eaa15624b3d773115d849dba863ca5a44 (diff) |
fix an error where a signal was accidently freed when it is tried to register it twice
Diffstat (limited to 'src/pulse/mainloop-signal.c')
-rw-r--r-- | src/pulse/mainloop-signal.c | 5 |
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; } |