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);
}