summaryrefslogtreecommitdiff
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
parent46f024bbe3542a73957aae0562e4b2dbd1213335 (diff)
downloadefl-599cdc93fa69dd54e132aec65cdda313db0133c6.tar.gz
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.
-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)
int fds[2];
if (pipe(fds) != 0) return;
+ eina_file_close_on_exec(fds[0], EINA_TRUE);
+ eina_file_close_on_exec(fds[1], EINA_TRUE);
timer_fd_read = fds[0];
timer_fd_write = fds[1];
if (getenv("ECORE_ANIMATOR_SKIP")) tick_skip = EINA_TRUE;