summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeepak Srivastava <srivastava.d@samsung.com>2015-07-02 10:45:09 +0530
committerPeter Meerwald <p.meerwald@bct-electronic.com>2015-07-21 16:44:26 +0200
commit8b3b39c7d832f8fdf11798fc04061ba353393f70 (patch)
tree4335bad5185793258f5bba523ad280f9c3a25e7a
parentdd084acb2834f1b6bb92c304f70e0ed0c0be84f6 (diff)
downloadpulseaudio-8b3b39c7d832f8fdf11798fc04061ba353393f70.tar.gz
padsp: Avoid possible deadlock. Unlocked i->mainloop before returning from default case.
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=91184 Signed-off-by: Deepak Srivastava <srivastava.d@samsung.com> Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
-rw-r--r--src/utils/padsp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/utils/padsp.c b/src/utils/padsp.c
index b696b3993..5e336bb1d 100644
--- a/src/utils/padsp.c
+++ b/src/utils/padsp.c
@@ -1201,6 +1201,9 @@ static int dsp_open(int flags, int *_errno) {
i->io_flags = PA_IO_EVENT_INPUT | PA_IO_EVENT_OUTPUT;
break;
default:
+ pa_threaded_mainloop_unlock(i->mainloop);
+ fd_info_unref(i);
+ *_errno = EIO;
return -1;
}