diff options
-rw-r--r-- | libdiskfs/io-read.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libdiskfs/io-read.c b/libdiskfs/io-read.c index 9c7a5259..a25f3801 100644 --- a/libdiskfs/io-read.c +++ b/libdiskfs/io-read.c @@ -47,7 +47,9 @@ diskfs_S_io_read (struct protid *cred, if (off == -1) off = cred->po->filepointer; - if (off + maxread > np->dn_stat.st_size) + if (off > np->dn_stat.st_size) + maxread = 0; + else if (off + maxread > np->dn_stat.st_size) maxread = np->dn_stat.st_size - off; if (maxread > *datalen) |