diff --git a/src/sbbs3/newuser.cpp b/src/sbbs3/newuser.cpp index 57607765a80391e2faf063f40bd7a9f44ce6f88e..ce5d56cf5555640bcfd5bd8646d62b2042092745 100644 --- a/src/sbbs3/newuser.cpp +++ b/src/sbbs3/newuser.cpp @@ -363,13 +363,16 @@ bool sbbs_t::newuser() else lprintf(LOG_NOTICE, "Rejected RLogin password for new user"); } - c = 0; - while (c < MAX(RAND_PASS_LEN, cfg.min_pwlen)) { /* Create random password */ - useron.pass[c] = sbbs_random(43) + '0'; - if (IS_ALPHANUMERIC(useron.pass[c])) - c++; - } - useron.pass[c] = 0; + lprintf(LOG_INFO, "Generating a random password for new user"); + do { + c = 0; + while (c < MAX(RAND_PASS_LEN, cfg.min_pwlen)) { /* Create random password */ + useron.pass[c] = sbbs_random(43) + '0'; + if (IS_ALPHANUMERIC(useron.pass[c])) + c++; + } + useron.pass[c] = 0; + } while (!check_pass(&cfg, useron.pass, &useron, /* unique: */false, /* reason: */NULL)); bprintf(text[YourPasswordIs], useron.pass);