Hello, this diff fixes a filedescriptor leak in vi. I compiled the code but I could not test the code path.
bye, Jan Index: recover.c =================================================================== RCS file: /mount/cvsdev/cvs/openbsd/src/usr.bin/vi/common/recover.c,v retrieving revision 1.15 diff -u -w -p -r1.15 recover.c --- recover.c 27 Oct 2009 23:59:47 -0000 1.15 +++ recover.c 20 Jan 2012 10:44:38 -0000 @@ -790,10 +790,13 @@ rcv_copy(sp, wfd, fname) for (off = 0; nr; nr -= nw, off += nw) if ((nw = write(wfd, buf + off, nr)) < 0) goto err; + close(rfd); if (nr == 0) return (0); err: msgq_str(sp, M_SYSERR, fname, "%s"); + if (rfd != -1) + close(rfd); return (1); }