summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2011-06-01 13:48:12 +0200
committerJim Meyering <meyering@redhat.com>2011-06-01 13:49:04 +0200
commite7b4bf4b57efb699c87f03c1173d812ea34cb618 (patch)
tree6c8b4463f5e6354d79c61d8d7fbcd87cd1c65c5a
parentc1716a1ebf55b1d43e64b880ff0ec6f73d2f05c5 (diff)
downloadcoreutils-e7b4bf4b57efb699c87f03c1173d812ea34cb618.tar.xz
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.
-rw-r--r--src/tail.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/tail.c b/src/tail.c
index 714e278e4..f31577633 100644
--- a/src/tail.c
+++ b/src/tail.c
@@ -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