diff options
author | tjr <tjr@FreeBSD.org> | 2004-08-04 02:47:32 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2004-08-04 02:47:32 +0000 |
commit | 77692f94c615ed685aa40d053e358dd09a0cdaf3 (patch) | |
tree | 8b6d2ae92f1380c2dbfd39099d8fe840267e9974 | |
parent | fbbc298037a1918bf5fc2e6bb8d751c0379c97eb (diff) | |
download | FreeBSD-src-77692f94c615ed685aa40d053e358dd09a0cdaf3.zip FreeBSD-src-77692f94c615ed685aa40d053e358dd09a0cdaf3.tar.gz |
In next(), ensure that 'done' is set in the case when a file cannot
be opened, to avoid trying to read standard input after already closing
it, which resulted in EBADF errors.
-rw-r--r-- | usr.bin/hexdump/display.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.bin/hexdump/display.c b/usr.bin/hexdump/display.c index 9f9ab88..db04c49 100644 --- a/usr.bin/hexdump/display.c +++ b/usr.bin/hexdump/display.c @@ -346,13 +346,14 @@ next(char **argv) } for (;;) { if (*_argv) { + done = 1; if (!(freopen(*_argv, "r", stdin))) { warn("%s", *_argv); exitval = 1; ++_argv; continue; } - statok = done = 1; + statok = 1; } else { if (done++) return(0); |