[FIX] auth_password_policy: prevent crash when emptying password input

Steps to reproduce
==================

- Go to /web/signup
- In the password field, type something
- Clear the input

Cause of the issue
==================

A bunch of conditions evaluates to NaN inside
`ConcretePolicy.score(password)` when passing en empty string as a
parameter.

Solution
========

An empty password should always have a score of 0 anyway, so we can
do an early return. (The lengthscore would be 0, and we multiply by it
at the end)

opw-3269555

closes odoo/odoo#120711

X-original-commit: 6aa16bb740af14fcebd8f05bdc19c9e8879d77ed
Signed-off-by: Vranckx Florian (flvr) <flvr@odoo.com>
This commit is contained in:
Hubert Van de Walle (huvw)
2023-05-08 23:39:42 +02:00
parent adc03ed054
commit 071ec7f8c4
@@ -39,6 +39,9 @@ export class ConcretePolicy extends Policy {
}
score(password) {
if (!password) {
return 0;
}
const lengthscore = Math.min(password.length / this.minlength, 1.0);
// we want the number of "words". Splitting on no-words doesn't work
// because JS will add an empty string when matching a leading or