summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-07-16 07:34:00 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-07-16 07:34:00 +0000
commit8ddb6410edb0c4e87b4c6b9d0887868977c8eff5 (patch)
tree42a5308572b82bc8eb446dc63d6c63abeddd27e4
parentbd9874db7485e827a2b9af6d7066c02692cef46d (diff)
tee: fix infinite looping on open error (echo asd | tee "")
-rw-r--r--coreutils/tee.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/coreutils/tee.c b/coreutils/tee.c
index 8a4128591..dc947c935 100644
--- a/coreutils/tee.c
+++ b/coreutils/tee.c
@@ -55,12 +55,14 @@ int tee_main(int argc, char **argv)
*fp = fopen_or_warn(*argv, mode);
if (*fp == NULL) {
retval = EXIT_FAILURE;
+ argv++;
continue;
}
}
*np = *argv++;
GOT_NEW_FILE:
- setbuf(*fp++, NULL); /* tee must not buffer output. */
+ setbuf(*fp, NULL); /* tee must not buffer output. */
+ fp++;
np++;
} while (*argv);
/* names[0] will be filled later */