]> eyrie.org Git - kerberos/krb5-strength.git/commitdiff
Free character class restrictions on shutdown
authorRuss Allbery <eagle@eyrie.org>
Fri, 13 Dec 2013 21:50:51 +0000 (13:50 -0800)
committerRuss Allbery <eagle@eyrie.org>
Fri, 13 Dec 2013 21:50:51 +0000 (13:50 -0800)
We weren't freeing the new structures for complex character class
restrictions when shutting the module down.

plugin/general.c

index ca0c23c3f54c378a92c69a848c352fc217d399dd..22690b1a78e17a711ea1cf4a646442a5c290a10a 100644 (file)
@@ -177,9 +177,17 @@ strength_check(krb5_context ctx UNUSED, krb5_pwqual_moddata data,
 void
 strength_close(krb5_context ctx UNUSED, krb5_pwqual_moddata data)
 {
-    if (data != NULL) {
-        strength_close_cdb(ctx, data);
-        free(data->dictionary);
-        free(data);
+    struct class_rule *last, *tmp;
+
+    if (data == NULL)
+        return;
+    strength_close_cdb(ctx, data);
+    last = data->rules;
+    while (last != NULL) {
+        tmp = last;
+        last = last->next;
+        free(tmp);
     }
+    free(data->dictionary);
+    free(data);
 }