diff options
-rw-r--r-- | source3/smbd/notify_inotify.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source3/smbd/notify_inotify.c b/source3/smbd/notify_inotify.c index fa0f0ed51d..c6c12a9cd2 100644 --- a/source3/smbd/notify_inotify.c +++ b/source3/smbd/notify_inotify.c @@ -243,14 +243,14 @@ static void inotify_handler(struct event_context *ev, struct fd_event *fde, e0 = e = (struct inotify_event *)TALLOC_SIZE(in, bufsize); if (e == NULL) return; - if (read(in->fd, e0, bufsize) != bufsize) { + if (sys_read(in->fd, e0, bufsize) != bufsize) { DEBUG(0,("Failed to read all inotify data\n")); talloc_free(e0); return; } /* we can get more than one event in the buffer */ - while (bufsize >= sizeof(*e)) { + while (e && (bufsize >= sizeof(*e))) { struct inotify_event *e2 = NULL; bufsize -= e->len + sizeof(*e); if (bufsize >= sizeof(*e)) { |