]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3/locking: simplify get_static_share_mode_data_fn()
authorRalph Boehme <slow@samba.org>
Tue, 28 Jan 2025 05:13:15 +0000 (06:13 +0100)
committerRalph Boehme <slow@samba.org>
Wed, 2 Apr 2025 18:05:48 +0000 (18:05 +0000)
One if less and tighter coupling of logic. No change in behaviour.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/locking/share_mode_lock.c

index 96ba71b1a382aa636f169f927ef352ab4631aa89..291a30df0fab4ef45a19e99e737533e4389048ce 100644 (file)
@@ -824,9 +824,17 @@ static void get_static_share_mode_data_fn(
                        state->status = NT_STATUS_INTERNAL_DB_CORRUPTION;
                        return;
                }
-       }
 
-       if (ltdb.share_mode_data_len == 0) {
+               d = parse_share_mode_data(
+                       lock_ctx,
+                       state->id,
+                       ltdb.share_mode_data_buf,
+                       ltdb.share_mode_data_len);
+               if (d == NULL) {
+                       state->status = NT_STATUS_INTERNAL_DB_CORRUPTION;
+                       return;
+               }
+       } else {
                if (state->smb_fname == NULL) {
                        state->status = NT_STATUS_NOT_FOUND;
                        return;
@@ -839,16 +847,6 @@ static void get_static_share_mode_data_fn(
                        state->status = NT_STATUS_NO_MEMORY;
                        return;
                }
-       } else {
-               d = parse_share_mode_data(
-                       lock_ctx,
-                       state->id,
-                       ltdb.share_mode_data_buf,
-                       ltdb.share_mode_data_len);
-               if (d == NULL) {
-                       state->status = NT_STATUS_INTERNAL_DB_CORRUPTION;
-                       return;
-               }
        }
 
        d->id = state->id;