diff -up libpwquality-1.2.3/src/settings.c.settings libpwquality-1.2.3/src/settings.c
--- libpwquality-1.2.3/src/settings.c.settings 2013-09-12 12:48:34.000000000 +0200
+++ libpwquality-1.2.3/src/settings.c 2017-11-15 11:31:52.860620974 +0100
@@ -42,6 +42,7 @@ pwquality_free_settings(pwquality_settin
{
if (pwq) {
free(pwq->dict_path);
+ free(pwq->bad_words);
free(pwq);
}
}
@@ -150,9 +151,11 @@ pwquality_read_config(pwquality_settings
if (*ptr == '\0')
continue;
+ eq = 0;
name = ptr;
while (*ptr != '\0') {
- if (isspace(*ptr)) {
+ if (isspace(*ptr) || *ptr == '=') {
+ eq = *ptr == '=';
*ptr = '\0';
++ptr;
break;
@@ -160,7 +163,6 @@ pwquality_read_config(pwquality_settings
++ptr;
}
- eq = 0;
while (*ptr != '\0') {
if (*ptr != '=' || eq) {
if (!isspace(*ptr)) {
@@ -322,6 +324,9 @@ pwquality_get_int_value(pwquality_settin
case PWQ_SETTING_MAX_CLASS_REPEAT:
*value = pwq->max_class_repeat;
break;
+ case PWQ_SETTING_MAX_SEQUENCE:
+ *value = pwq->max_sequence;
+ break;
case PWQ_SETTING_GECOS_CHECK:
*value = pwq->gecos_check;
break;