From 4c9c52233704e6788ce3771b4a42f5060b97272c Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Mon, 5 Aug 2013 11:40:02 +0100 Subject: [PATCH] Check for valid fd returned from ecore_main_fd_handler_fd_get before potentially passing -1 to the read() function. Signed-off-by: Chris Michael --- src/lib/ecore_file/ecore_file_monitor_inotify.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_file/ecore_file_monitor_inotify.c b/src/lib/ecore_file/ecore_file_monitor_inotify.c index 18b80074e6..b01a4357b3 100644 --- a/src/lib/ecore_file/ecore_file_monitor_inotify.c +++ b/src/lib/ecore_file/ecore_file_monitor_inotify.c @@ -153,11 +153,14 @@ _ecore_file_monitor_inotify_handler(void *data EINA_UNUSED, Ecore_Fd_Handler *fd Ecore_File_Monitor *em; char buffer[16384]; struct inotify_event *event; - int i = 0; + int i = 0, fd; int event_size; ssize_t size; - size = read(ecore_main_fd_handler_fd_get(fdh), buffer, sizeof(buffer)); + fd = ecore_main_fd_handler_fd_get(fdh); + if (fd < 0) return ECORE_CALLBACK_RENEW; + + size = read(fd, buffer, sizeof(buffer)); while (i < size) { event = (struct inotify_event *)&buffer[i];