smbd: Simplify an if-condition
authorVolker Lendecke <vl@samba.org>
Fri, 9 Feb 2024 11:37:53 +0000 (12:37 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 9 Apr 2024 22:52:38 +0000 (22:52 +0000)
current_sid == NULL is true if and only if we could not assign current_sid
because num_sids was too small. Make that more explicit.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source3/smbd/smbXsrv_open.c

index f2a6fc27784a4ef409066f5b861ca200925bf7b4..ed2cf6f8a9f53abcc2b5769e797f2344daa9bf55 100644 (file)
@@ -529,17 +529,11 @@ NTSTATUS smbXsrv_open_create(struct smbXsrv_connection *conn,
        }
        current_token = session_info->security_token;
 
-       if (current_token == NULL) {
-               return NT_STATUS_INVALID_HANDLE;
-       }
-
-       if (current_token->num_sids > PRIMARY_USER_SID_INDEX) {
-               current_sid = &current_token->sids[PRIMARY_USER_SID_INDEX];
-       }
-
-       if (current_sid == NULL) {
+       if ((current_token == NULL) ||
+           (current_token->num_sids <= PRIMARY_USER_SID_INDEX)) {
                return NT_STATUS_INVALID_HANDLE;
        }
+       current_sid = &current_token->sids[PRIMARY_USER_SID_INDEX];
 
        if (table->local.num_opens >= table->local.max_opens) {
                return NT_STATUS_INSUFFICIENT_RESOURCES;