1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-02-18 13:21:58 +02:00

tail: fix an inconsequential bug spotted by coverity

* src/tail.c (start_bytes): Increase *READ_POS (not READ_POS)
by the number of bytes read.  This is a real bug that happens
to have no consequence in practice.  First, this code is exercised
only when tailing-forever a non-regular file by bytes, and with a
start-relative offset, e.g., "mkfifo f; tail -f -c +3 f", but even
then, the invalid READ_POS value does not influence how tail works.
It is stored in the File_spec.size member, but that member is not
used at all in tail_forever_inotify, and in tail_forever, it is
used only when the File_spec refers to a regular file.
This commit is contained in:
Jim Meyering
2011-06-01 13:48:12 +02:00
parent c1716a1ebf
commit e7b4bf4b57

View File

@@ -818,7 +818,7 @@ start_bytes (const char *pretty_filename, int fd, uintmax_t n_bytes,
error (0, errno, _("error reading %s"), quote (pretty_filename));
return 1;
}
read_pos += bytes_read;
*read_pos += bytes_read;
if (bytes_read <= n_bytes)
n_bytes -= bytes_read;
else