]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbd: Use ARRAY_DEL_ELEMENT() in smbd_smb1_blocked_locks_cleanup()
authorVolker Lendecke <vl@samba.org>
Thu, 26 Mar 2020 09:31:47 +0000 (10:31 +0100)
committerRalph Boehme <slow@samba.org>
Thu, 26 Mar 2020 14:43:31 +0000 (14:43 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/smbd/blocking.c

index fbedcea05aaa44d974f38f6e68c452cd57de8b6a..eb219034a095bc4336b0789b3a45e25dc582fc02 100644 (file)
@@ -312,7 +312,7 @@ static void smbd_smb1_blocked_locks_cleanup(
        struct files_struct *fsp = state->fsp;
        struct tevent_req **blocked = fsp->blocked_smb1_lock_reqs;
        size_t num_blocked = talloc_array_length(blocked);
-       size_t i, num_after;
+       size_t i;
 
        DBG_DEBUG("req=%p, state=%p, req_state=%d\n",
                  req,
@@ -331,17 +331,8 @@ static void smbd_smb1_blocked_locks_cleanup(
        }
        SMB_ASSERT(i<num_blocked);
 
-       num_after = num_blocked - (i+1);
+       ARRAY_DEL_ELEMENT(blocked, i, num_blocked);
 
-       if (num_after > 0) {
-               /*
-                * The locks need to be kept in order, see
-                * raw.lock.multilock2
-                */
-               memmove(&blocked[i],
-                       &blocked[i+1],
-                       sizeof(*blocked) * num_after);
-       }
        fsp->blocked_smb1_lock_reqs = talloc_realloc(
                fsp, blocked, struct tevent_req *, num_blocked-1);
 }