Cygwin: fallocate(2): fix offset and length sanity check
- len must not be <= 0
- offset + len must not exceed off_t (max. file size)
Fixes: e01c50c7b0
("Cygwin: introduce fallocate(2)")
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
295bef07d6
commit
7f88c8e0b3
|
@ -3005,8 +3005,10 @@ fallocate (int fd, int mode, off_t offset, off_t len)
|
|||
else if ((mode & (FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE))
|
||||
== FALLOC_FL_PUNCH_HOLE)
|
||||
res = EOPNOTSUPP;
|
||||
else if (offset < 0 || len == 0)
|
||||
else if (offset < 0 || len <= 0)
|
||||
res = EINVAL;
|
||||
else if (INT64_MAX - len < offset)
|
||||
res = EFBIG;
|
||||
else
|
||||
{
|
||||
cygheap_fdget cfd (fd);
|
||||
|
|
Loading…
Reference in New Issue