From 7ba5b0d15017189df9ec3743a5295611f0dc30fd Mon Sep 17 00:00:00 2001 From: Frank Freihube Date: Wed, 27 Apr 2016 10:39:05 +0200 Subject: [PATCH] Trailing zeros in file leading to unexpected file length get set in destination buffer --- core/cfs/cfs-coffee.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/cfs/cfs-coffee.c b/core/cfs/cfs-coffee.c index 6391e173c..07df6121b 100644 --- a/core/cfs/cfs-coffee.c +++ b/core/cfs/cfs-coffee.c @@ -1098,8 +1098,8 @@ cfs_read(int fd, void *buf, unsigned size) fdp = &coffee_fd_set[fd]; file = fdp->file; - if(fdp->offset + size > file->end) { - size = file->end - fdp->offset; + while(fdp->offset + size > file->end) { + ((char*)buf)[--size] = 0; } /* If the file is not modified, read directly from the file extent. */