s3:smbd/password - move list pointers into blocks
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Fri, 25 Sep 2009 08:17:17 +0000 (10:17 +0200)
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Fri, 25 Sep 2009 08:59:13 +0000 (10:59 +0200)
source3/smbd/password.c

index 4c1cef45cc77b8f15c78359919c15b23df65da80..755ff5d6cdeca1ce9a86a2aca6c8967566eb6893 100644 (file)
@@ -551,14 +551,13 @@ bool user_in_list(struct smbd_server_connection *sconn,
 static bool user_ok(struct smbd_server_connection *sconn,
                    const char *user, int snum)
 {
-       char **valid, **invalid;
        bool ret;
 
-       valid = invalid = NULL;
        ret = True;
 
        if (lp_invalid_users(snum)) {
-               invalid = str_list_copy(talloc_tos(), lp_invalid_users(snum));
+               char **invalid = str_list_copy(talloc_tos(),
+                       lp_invalid_users(snum));
                if (invalid &&
                    str_list_substitute(invalid, "%S", lp_servicename(snum))) {
 
@@ -570,11 +569,12 @@ static bool user_ok(struct smbd_server_connection *sconn,
                                                    (const char **)invalid);
                        }
                }
+               TALLOC_FREE(invalid);
        }
-       TALLOC_FREE(invalid);
 
        if (ret && lp_valid_users(snum)) {
-               valid = str_list_copy(talloc_tos(), lp_valid_users(snum));
+               char **valid = str_list_copy(talloc_tos(),
+                       lp_valid_users(snum));
                if ( valid &&
                     str_list_substitute(valid, "%S", lp_servicename(snum)) ) {
 
@@ -586,8 +586,8 @@ static bool user_ok(struct smbd_server_connection *sconn,
                                                   (const char **)valid);
                        }
                }
+               TALLOC_FREE(valid);
        }
-       TALLOC_FREE(valid);
 
        if (ret && lp_onlyuser(snum)) {
                char **user_list = str_list_make_v3(