filter: Fix a memory leak in non-btr mode.
authorAndre Noll <maan@systemlinux.org>
Tue, 5 Jan 2010 22:06:45 +0000 (23:06 +0100)
committerAndre Noll <maan@systemlinux.org>
Tue, 5 Jan 2010 22:06:45 +0000 (23:06 +0100)
filter.c
filter_common.c

index 832ca22bdaec105b5c4fc2e459b3770e6730acfb..e7fc2cd7c7e70c04e19a83d344c90faee4f24ac4 100644 (file)
--- a/filter.c
+++ b/filter.c
@@ -259,7 +259,6 @@ int main(int argc, char *argv[])
        s.default_timeout.tv_sec = 1;
        s.default_timeout.tv_usec = 0;
        ret = schedule(&s);
        s.default_timeout.tv_sec = 1;
        s.default_timeout.tv_usec = 0;
        ret = schedule(&s);
-       free_filter_confs();
        close_filters(fc);
 out:
        free(sit->buf);
        close_filters(fc);
 out:
        free(sit->buf);
index a4f8868b6355a66d92eecd5bc4ebb10f282c27f1..7fa30803d6c02a87699b3cc927e0c8b7966e36c9 100644 (file)
@@ -179,6 +179,7 @@ void close_filters(struct filter_chain *fc)
                close_callbacks(fn);
                PARA_INFO_LOG("closing %s filter\n", f->name);
                f->close(fn);
                close_callbacks(fn);
                PARA_INFO_LOG("closing %s filter\n", f->name);
                f->close(fn);
+               free(fn->conf);
        }
        free(fc->filter_nodes);
 }
        }
        free(fc->filter_nodes);
 }