summaryrefslogtreecommitdiff
path: root/src/lib/ecore
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-07-12 13:01:43 -0500
committerDerek Foreman <derekf@osg.samsung.com>2017-07-12 13:04:58 -0500
commit599cdc93fa69dd54e132aec65cdda313db0133c6 (patch)
tree881935c030a85f7d4c93ca430a65d08e0ff2ecd7 /src/lib/ecore
parent46f024bbe3542a73957aae0562e4b2dbd1213335 (diff)
ecore_anim: set the tick thread's fds CLOEXEC
If we don't set them CLOEXEC then they end up in the fd space of every client Enlightenment launches, allowing any client to write to them and mess with animator timings or freeze the compositor.
Diffstat (limited to 'src/lib/ecore')
-rw-r--r--src/lib/ecore/ecore_anim.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index 47282c7801..d3b4400ae8 100644
--- a/src/lib/ecore/ecore_anim.c
+++ b/src/lib/ecore/ecore_anim.c
@@ -397,6 +397,8 @@ _timer_tick_begin(void)
397 int fds[2]; 397 int fds[2];
398 398
399 if (pipe(fds) != 0) return; 399 if (pipe(fds) != 0) return;
400 eina_file_close_on_exec(fds[0], EINA_TRUE);
401 eina_file_close_on_exec(fds[1], EINA_TRUE);
400 timer_fd_read = fds[0]; 402 timer_fd_read = fds[0];
401 timer_fd_write = fds[1]; 403 timer_fd_write = fds[1];
402 if (getenv("ECORE_ANIMATOR_SKIP")) tick_skip = EINA_TRUE; 404 if (getenv("ECORE_ANIMATOR_SKIP")) tick_skip = EINA_TRUE;