diff options
author | Michal Zidek <mzidek@redhat.com> | 2012-11-07 11:12:36 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2012-11-11 23:47:48 +0100 |
commit | 407512ffd3019c6031050fe04d63c3bb816995e2 (patch) | |
tree | 03976125bf76dd915fdad77a7079fc9ebac9d46d /src/util/util_lock.c | |
parent | 4d84e12f003f33fac68da4f1d77cea5d969677b2 (diff) | |
download | sssd-407512ffd3019c6031050fe04d63c3bb816995e2.tar.gz sssd-407512ffd3019c6031050fe04d63c3bb816995e2.tar.xz sssd-407512ffd3019c6031050fe04d63c3bb816995e2.zip |
util_lock.c: sss_br_lock_file accepted invalid parameter value
Return EINVAL if number of tries is <= 0. Also the parameter
retries was renamed to num_tries, so it is more obvious that
it also includes the first try.
Diffstat (limited to 'src/util/util_lock.c')
-rw-r--r-- | src/util/util_lock.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/util/util_lock.c b/src/util/util_lock.c index c2d7fac77..8db35a8cf 100644 --- a/src/util/util_lock.c +++ b/src/util/util_lock.c @@ -29,19 +29,23 @@ #include "util/util.h" errno_t sss_br_lock_file(int fd, size_t start, size_t len, - int retries, useconds_t wait) + int num_tries, useconds_t wait) { int ret; struct flock lock; int retries_left; + if (num_tries <= 0) { + return EINVAL; + } + lock.l_type = F_WRLCK; lock.l_whence = SEEK_SET; lock.l_start = start; lock.l_len = len; lock.l_pid = 0; - for (retries_left = retries; retries_left > 0; retries_left--) { + for (retries_left = num_tries; retries_left > 0; retries_left--) { ret = fcntl(fd, F_SETLK, &lock); if (ret == -1) { ret = errno; |