Hello, tech@
Following diff fixes file descriptor leak `ifd'.
Index: diffreg.c
===================================================================
RCS file: /cvs/src/usr.bin/diff/diffreg.c,v
retrieving revision 1.73
diff -u -r1.73 diffreg.c
--- diffreg.c 27 Oct 2009 23:59:37 -0000 1.73
+++ diffreg.c 21 Mar 2010 10:55:43 -0000
@@ -514,8 +514,10 @@
return (NULL);
}
- if ((ofd = mkstemp(tempfile)) < 0)
+ if ((ofd = mkstemp(tempfile)) < 0) {
+ close(ifd);
return (NULL);
+ }
unlink(tempfile);
while ((nread = read(ifd, buf, BUFSIZ)) > 0) {
if (write(ofd, buf, nread) != nread) {