Hi,

the function parallel() should release file descriptors just like
sequential() does:  If we reach EOF, close it -- except we were
reading stdin.


Tobias

Index: paste.c
===================================================================
RCS file: /cvs/src/usr.bin/paste/paste.c,v
retrieving revision 1.18
diff -u -p -r1.18 paste.c
--- paste.c     12 Aug 2010 05:02:52 -0000      1.18
+++ paste.c     24 Nov 2014 18:04:16 -0000
@@ -130,6 +130,8 @@ parallel(char **argv)
                        if (!(buf = fgetln(lp->fp, &len))) {
                                if (!--opencnt)
                                        break;
+                               if (lp->fp != stdin)
+                                       (void)fclose(lp->fp);
                                lp->fp = NULL;
                                if (output && lp->cnt &&
                                    (ch = delim[(lp->cnt - 1) % delimcnt]))

Reply via email to