Source Joachim Nilsson:

 Coverity Scan found this interesting buglet.  If read() fails the code,
 before this patch, would trigger a "Negative array index write".

ok?

Index: region.c
===================================================================
RCS file: /cvs/src/usr.bin/mg/region.c,v
retrieving revision 1.36
diff -u -p -u -p -r1.36 region.c
--- region.c    8 Sep 2016 07:50:09 -0000       1.36
+++ region.c    8 Sep 2016 07:56:14 -0000
@@ -650,7 +650,7 @@ preadin(int fd, struct buffer *bp)
        int len;
        char buf[BUFSIZ], *p, *q;
 
-       if ((len = read(fd, buf, BUFSIZ - 1)) == 0)
+       if ((len = read(fd, buf, BUFSIZ - 1)) <= 0)
                return (FALSE);
 
        buf[len] = '\0';

Reply via email to