diff --git a/zdump/zg.c b/zdump/zg.c index 378cbf9b..8f417936 100644 --- a/zdump/zg.c +++ b/zdump/zg.c @@ -280,6 +280,9 @@ off_t zg_seek(struct zg_fh *zg_fh, off_t off, enum zg_check check) { off_t rc; + if (off >= zg_fh->sb.st_size) + ERR_EXIT("Trying to seek past file end \"%s\"", zg_fh->path); + rc = lseek(zg_fh->fh, off, SEEK_SET); if (rc == -1 && check != ZG_CHECK_NONE) ERR_EXIT_ERRNO("Could not seek \"%s\"", zg_fh->path);