summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2021-03-03 19:15:31 +0100
committerKarolin Seeger <kseeger@samba.org>2021-03-08 08:51:39 +0000
commit5dd17586cd600518c3187b4af2d4cc6167d52eb7 (patch)
tree8de1a630cefc3ed4f508eb68d6110f9871e331b9
parentdf832cb62c01bf6a2a801340a4434c0db51c34e0 (diff)
downloadsamba-5dd17586cd600518c3187b4af2d4cc6167d52eb7.tar.gz
g_lock: Fix uninitalized variable reads
If dbwrap_watched_watch_recv() returns IO_TIMEOUT, "blockerdead" might be an uninitialized non-false, and further down we'll remove the wrong exclusive locker. Bug: https://bugzilla.samba.org/show_bug.cgi?id=14636 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Fri Mar 5 11:22:07 UTC 2021 on sn-devel-184 (cherry picked from commit 654c18a244f060d81280493a324b98602a69dbbf) Autobuild-User(v4-12-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-12-test): Mon Mar 8 08:51:39 UTC 2021 on sn-devel-184
-rw-r--r--source3/lib/g_lock.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source3/lib/g_lock.c b/source3/lib/g_lock.c
index 4bf30188a43..c3b4b644537 100644
--- a/source3/lib/g_lock.c
+++ b/source3/lib/g_lock.c
@@ -600,8 +600,8 @@ static void g_lock_lock_retry(struct tevent_req *subreq)
struct g_lock_lock_state *state = tevent_req_data(
req, struct g_lock_lock_state);
struct g_lock_lock_fn_state fn_state;
- struct server_id blocker;
- bool blockerdead;
+ struct server_id blocker = { .pid = 0 };
+ bool blockerdead = false;
NTSTATUS status;
status = dbwrap_watched_watch_recv(subreq, &blockerdead, &blocker);