]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbd: simplify the logic in change_to_user()
authorStefan Metzmacher <metze@samba.org>
Tue, 12 Jun 2018 13:39:51 +0000 (15:39 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 18 Jun 2018 06:59:16 +0000 (08:59 +0200)
We can return early if (vuser == NULL).

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

index 0af47831a4dec071dff7d247764a4e3976840a1e..e100c45a60697f9695bad2a2e9b64293344c7661 100644 (file)
@@ -378,15 +378,6 @@ bool change_to_user(connection_struct *conn, uint64_t vuid)
        }
 
        vuser = get_valid_user_struct(conn->sconn, vuid);
-
-       if ((current_user.conn == conn) &&
-                  (vuser != NULL) && (current_user.vuid == vuid) &&
-                  (current_user.ut.uid == vuser->session_info->unix_token->uid)) {
-               DEBUG(4,("Skipping user change - already "
-                        "user\n"));
-               return(True);
-       }
-
        if (vuser == NULL) {
                /* Invalid vuid sent */
                DEBUG(2,("Invalid vuid %llu used on share %s.\n",
@@ -395,6 +386,14 @@ bool change_to_user(connection_struct *conn, uint64_t vuid)
                return false;
        }
 
+       if ((current_user.conn == conn) &&
+           (current_user.vuid == vuid) &&
+           (current_user.ut.uid == vuser->session_info->unix_token->uid))
+       {
+               DBG_INFO("Skipping user change - already user\n");
+               return true;
+       }
+
        return change_to_user_internal(conn, vuser->session_info, vuid);
 }