summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-07-12 12:00:52 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-07-12 11:59:20 -0400
commit7c80d82f25fbf3b56f131038483baeb6844fa646 (patch)
treec4b9e8521560ca36c9c2930fc0bff72fa032b853
parent74bd1d4000d82d1cd66a639ddabfbe13573ef881 (diff)
downloadefl-7c80d82f25fbf3b56f131038483baeb6844fa646.tar.gz
efl-wl: check returns in x11 selection request handler
CID 1377518
-rw-r--r--src/lib/efl_wl/x11.x14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/lib/efl_wl/x11.x b/src/lib/efl_wl/x11.x
index 892b167d35..f33bdcedc6 100644
--- a/src/lib/efl_wl/x11.x
+++ b/src/lib/efl_wl/x11.x
@@ -342,9 +342,19 @@ x11_selection_request(void *d EINA_UNUSED, int t EINA_UNUSED, Ecore_X_Event_Sele
{
int fds[2];
+ if (socketpair(AF_UNIX, (SOCK_STREAM | SOCK_CLOEXEC), 0, fds) < 0)
+ {
+ EINA_LOG_ERR("socketpair failed!\n");
+ continue;
+ }
+ if (fcntl(fds[0], F_SETFL, O_NONBLOCK) < 0)
+ {
+ close(fds[0]);
+ close(fds[1]);
+ EINA_LOG_ERR("NONBLOCK for socketpair failed!\n");
+ continue;
+ }
p = calloc(1, sizeof(Pipe));
- socketpair(AF_UNIX, (SOCK_STREAM | SOCK_CLOEXEC), 0, fds);
- fcntl(fds[0], F_SETFL, O_NONBLOCK);
p->fdh = ecore_main_fd_handler_add(fds[0], ECORE_FD_READ, x11_pipe_read, p, NULL, NULL);
p->win = ev->requestor;
p->source = source;