summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertise.dev>2020-12-14 11:48:29 -0300
committerFelipe Magno de Almeida <felipe@expertise.dev>2020-12-14 11:50:48 -0300
commit8d2c652104d02d5ee4d54b654ce56f8c3cdffb53 (patch)
treedd30b83c8869b8ff7b1b6baccb103fd500c0bcad
parent4e5b01f8a03d3b01f54c3a67898f9ca67f050481 (diff)
downloadefl-8d2c652104d02d5ee4d54b654ce56f8c3cdffb53.tar.gz
evil: Fix fcntl for F_SETLK and F_SETLKW wrong length calculation
Summary: If length and start are both 0, size is wrongfully negative. Besides, using length as a delimitator in a range means that [0, length) is a half-closed interval, so we don't need to subtract by 1. Reviewers: vtorri, woohyun, lucas, jptiz Reviewed By: vtorri, lucas Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12208
-rw-r--r--src/lib/evil/evil_fcntl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/evil/evil_fcntl.c b/src/lib/evil/evil_fcntl.c
index 14d10b111c..6c556a6cd7 100644
--- a/src/lib/evil/evil_fcntl.c
+++ b/src/lib/evil/evil_fcntl.c
@@ -114,7 +114,7 @@ fcntl(int fd, int cmd, ...)
if (length != -1L)
res = 0;
}
- fl->l_len = length - fl->l_start - 1;
+ fl->l_len = length - fl->l_start;
pos = _lseek(fd, fl->l_start, fl->l_whence);
if (pos != -1L)