Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> --- fs/fs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/fs.c b/fs/fs.c index e7b696591433..1901c94ad1ea 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -910,6 +910,8 @@ loff_t lseek(int fildes, loff_t offset, int whence) case SEEK_SET: if (f->size != FILE_SIZE_STREAM && offset > f->size) goto out; + if (offset < 0) + goto out; pos = offset; break; case SEEK_CUR: @@ -918,9 +920,9 @@ loff_t lseek(int fildes, loff_t offset, int whence) pos = f->pos + offset; break; case SEEK_END: - if (offset) + if (offset > 0) goto out; - pos = f->size; + pos = f->size + offset; break; default: goto out; -- 2.11.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox