chiark / gitweb /
avoid crashes on log client teardown
[disorder] / lib / event.c
index de761ffc83aba9d99271b10f569beb1532fe853c..9c48ed139607114aa9139267ff07490397c1194b 100644 (file)
@@ -266,7 +266,7 @@ int ev_run(ev_source *ev) {
              error(errno, "mode %s fstat %d (%s)",
                    modenames[mode], fd, ev->mode[mode].fds[n].what);
          }
-         for(n = 0; n < maxfd; ++n)
+         for(n = 0; n <= maxfd; ++n)
            if(FD_ISSET(n, &ev->mode[mode].enabled)
               && fstat(n, &sb) < 0)
              error(errno, "mode %s fstat %d", modenames[mode], n);
@@ -978,6 +978,8 @@ ev_writer *ev_writer_new(ev_source *ev,
  * descriptor as and when it is writable.
  */
 struct sink *ev_writer_sink(ev_writer *w) {
+  if(!w)
+    fatal(0, "ev_write_sink called with null writer");
   return &w->s;
 }