diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-16 07:34:00 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-16 07:34:00 +0000 |
commit | 8ddb6410edb0c4e87b4c6b9d0887868977c8eff5 (patch) | |
tree | 42a5308572b82bc8eb446dc63d6c63abeddd27e4 | |
parent | bd9874db7485e827a2b9af6d7066c02692cef46d (diff) |
tee: fix infinite looping on open error (echo asd | tee "")
-rw-r--r-- | coreutils/tee.c | 4 |
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 */ |