summaryrefslogtreecommitdiff
path: root/src/od.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/od.c')
-rw-r--r--src/od.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/od.c b/src/od.c
index ad73bb252..a08a7a5a2 100644
--- a/src/od.c
+++ b/src/od.c
@@ -1081,7 +1081,10 @@ skip (uintmax_t n_skip)
n_skip -= file_stats.st_size;
else
{
- if (lseek (fileno (in_stream), n_skip, SEEK_CUR) < 0)
+ off_t offset = n_skip;
+ if (offset == n_skip && 0 <= offset
+ ? fseeko (in_stream, offset, SEEK_CUR) != 0
+ : (errno = EOVERFLOW, 1))
{
error (0, errno, "%s", input_filename);
err = 1;