]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbd: Avoid a reference to share_mode_data->num_share_modes
authorVolker Lendecke <vl@samba.org>
Tue, 3 Dec 2019 09:39:12 +0000 (10:39 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 17 Dec 2019 22:40:32 +0000 (22:40 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/locking/share_mode_lock.c

index 8ffb0135f6805ebd4f8f7d5251c88d911c7bec56..58c7c8d30382598a6b39d81d14c66c89aa139c7c 100644 (file)
@@ -2178,6 +2178,12 @@ static void mark_share_mode_disconnected_fn(
        void *private_data)
 {
        struct mark_share_mode_disconnected_state *state = private_data;
+
+       if (num_share_modes != 1) {
+               state->ok = false;
+               return;
+       }
+
        server_id_set_disconnected(&e->pid);
        e->share_file_id = state->open_persistent_id;
        *modified = true;
@@ -2190,10 +2196,6 @@ bool mark_share_mode_disconnected(struct share_mode_lock *lck,
        struct mark_share_mode_disconnected_state state;
        bool ok;
 
-       if (lck->data->num_share_modes != 1) {
-               return false;
-       }
-
        if (fsp->op == NULL) {
                return false;
        }