When allocating a new vuid, also avoid partial ones
authorVolker Lendecke <vl@sernet.de>
Tue, 4 Dec 2007 12:13:45 +0000 (13:13 +0100)
committerVolker Lendecke <vl@sernet.de>
Tue, 4 Dec 2007 12:23:58 +0000 (13:23 +0100)
source/smbd/password.c

index bf4e9258ff266307887b00223fb29c012e70eba9..4ea1d9a83f438b40036e0669c30e624f56c1926f 100644 (file)
@@ -175,7 +175,8 @@ int register_vuid(auth_serversupplied_info *server_info,
        ZERO_STRUCTP(vuser);
 
        /* Allocate a free vuid. Yes this is a linear search... :-) */
-       while( get_valid_user_struct(next_vuid) != NULL ) {
+       while( (get_valid_user_struct(next_vuid) != NULL)
+              || (get_partial_auth_user_struct(next_vuid) != NULL) ) {
                next_vuid++;
                /* Check for vuid wrap. */
                if (next_vuid == UID_FIELD_INVALID)