check more pulse mixer returns
authorMike Blumenkrantz <zmike@samsung.com>
Fri, 4 Apr 2014 17:50:08 +0000 (13:50 -0400)
committerMike Blumenkrantz <zmike@samsung.com>
Fri, 4 Apr 2014 19:04:28 +0000 (15:04 -0400)
CID 10399591039960

src/modules/mixer/pa.c

index 96676a5ac762d568fd86ac32a8dcf11c5c57b7de..8d30e4b814587f1ccb6c1a39f4dbf86629eab648 100644 (file)
@@ -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;