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