diff options
author | Ralph Boehme <slow@samba.org> | 2022-03-25 15:50:54 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2022-12-09 23:11:38 +0000 |
commit | 0db39fad9e7a79145146d95a1eecfe1703abfdb9 (patch) | |
tree | 989ed2313365c305b9611555cb3eaefbce4f05bd /source3/lib | |
parent | aa8b0ef8b93b9318b4182a6c52f4685c9bb7d8d8 (diff) | |
download | samba-0db39fad9e7a79145146d95a1eecfe1703abfdb9.tar.gz |
g_lock: check for zero timeout in g_lock_lock()
If the record is already locked check if the requested timeout is zero
and fail directly with NT_STATUS_LOCK_NOT_GRANTED.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/g_lock.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/lib/g_lock.c b/source3/lib/g_lock.c index 40687f47526..3c27a63d8d5 100644 --- a/source3/lib/g_lock.c +++ b/source3/lib/g_lock.c @@ -1292,6 +1292,10 @@ NTSTATUS g_lock_lock(struct g_lock_ctx *ctx, TDB_DATA key, return state.status; } + if (timeval_is_zero(&timeout)) { + return NT_STATUS_LOCK_NOT_GRANTED; + } + /* * Fall back to the full g_lock_trylock logic, * g_lock_lock_simple_fn() called above only covers |