Fix password length check (#2536)

This commit is contained in:
Nutomic 2022-11-05 00:56:38 +00:00 committed by GitHub
parent 2207fed0f5
commit 50a2233b52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -314,7 +314,7 @@ pub async fn build_federated_instances(
/// Checks the password length
pub fn password_length_check(pass: &str) -> Result<(), LemmyError> {
if !(10..=60).contains(&pass.len()) {
if !(10..=60).contains(&pass.chars().count()) {
Err(LemmyError::from_message("invalid_password"))
} else {
Ok(())
@ -791,3 +791,17 @@ pub fn listing_type_with_site_default(
&local_site.default_post_listing_type,
)?))
}
#[cfg(test)]
mod tests {
use crate::utils::password_length_check;
#[test]
#[rustfmt::skip]
fn password_length() {
assert!(password_length_check("Õ¼¾°3yË,o¸ãtÌÈú|ÇÁÙAøüÒI©·¤(T]/ð>æºWæ[C¤bªWöaÃÎñ·{=û³&§½K/c").is_ok());
assert!(password_length_check("1234567890").is_ok());
assert!(password_length_check("short").is_err());
assert!(password_length_check("looooooooooooooooooooooooooooooooooooooooooooooooooooooooooong").is_err());
}
}