Use correct free functions for blacklist dicts.
[srvx.git] / src / mod-blacklist.c
index 7ae95260cced1326a9eea7244f3d13d807082508..a7f4e2ba3ea59733a39bcc7ac79ca8ea286b8f8e 100644 (file)
@@ -68,7 +68,7 @@ do_expandos(char *output, unsigned int out_len, const char *input, ...)
         dlen = strlen(datum);
         for (found = output; (found = strstr(output, key)) != NULL; found += dlen) {
             rlen = strlen(found + klen);
-            if ((dlen > klen) && (found + dlen + rlen - output > out_len))
+            if ((dlen > klen) && ((unsigned)(found + dlen + rlen - output) > out_len))
                 rlen = output + out_len - found - dlen;
             memmove(found + dlen, found + klen, rlen);
             memcpy(found, datum, dlen + 1);
@@ -278,7 +278,7 @@ blacklist_conf_read(void)
 
     dict_delete(blacklist_zones);
     blacklist_zones = dict_new();
-    dict_set_free_data(blacklist_zones, free);
+    dict_set_free_data(blacklist_zones, dnsbl_zone_free);
 
     dict_delete(blacklist_hosts);
     blacklist_hosts = dict_new();
@@ -286,7 +286,7 @@ blacklist_conf_read(void)
 
     dict_delete(blacklist_reasons);
     blacklist_reasons = dict_new();
-    dict_set_free_keys(blacklist_reasons, dnsbl_zone_free);
+    dict_set_free_keys(blacklist_reasons, free);
 
     node = conf_get_data("modules/blacklist", RECDB_OBJECT);
     if (node == NULL)