From e6e764cba96710abbdf572c6feb83119571839e6 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 4 Apr 2014 13:50:08 -0400 Subject: [PATCH] check more pulse mixer returns CID 1039959, 1039960 --- src/modules/mixer/pa.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/modules/mixer/pa.c b/src/modules/mixer/pa.c index 96676a5ac..8d30e4b81 100644 --- a/src/modules/mixer/pa.c +++ b/src/modules/mixer/pa.c @@ -362,10 +362,18 @@ con(Pulse *conn, int type __UNUSED__, Ecore_Con_Event_Server_Add *ev) } #ifdef SO_PASSCRED - setsockopt(conn->fd, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); + if (setsockopt(conn->fd, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)) < 0) + { + pulse_disconnect(conn); + return ECORE_CALLBACK_RENEW; + } #endif - setsockopt(conn->fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); - fcntl(conn->fd, F_SETFL, O_NONBLOCK); + if ((setsockopt(conn->fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0) || + (fcntl(conn->fd, F_SETFL, O_NONBLOCK) < 0)) + { + pulse_disconnect(conn); + return ECORE_CALLBACK_RENEW; + } flags = fcntl(conn->fd, F_GETFD); flags |= FD_CLOEXEC;