diff options
author | Martin Josefsson <gandalf@wlug.westbo.se> | 2003-05-02 15:30:11 +0000 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2003-05-02 15:30:11 +0000 |
commit | 841e4aed2349046eb2c0b1375139c06569a93bd0 (patch) | |
tree | 9f7a208076fc164ca3d52e745964c7dbc7afc350 /ip6tables-restore.c | |
parent | 59cbe17cee0499c8f25a8d9f29513f4c85e9b03c (diff) |
fix memory leak(s) in libiptc. Reverts the previous (wrong) patch. (Martin Josefsson)
Diffstat (limited to 'ip6tables-restore.c')
-rw-r--r-- | ip6tables-restore.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ip6tables-restore.c b/ip6tables-restore.c index 82e1d2b0..ecda8702 100644 --- a/ip6tables-restore.c +++ b/ip6tables-restore.c @@ -7,7 +7,7 @@ * Rusty Russell <rusty@linuxcare.com.au> * This code is distributed under the terms of GNU GPL v2 * - * $Id: ip6tables-restore.c,v 1.10 2002/08/14 11:40:41 laforge Exp $ + * $Id: ip6tables-restore.c,v 1.11 2003/03/05 07:46:15 laforge Exp $ */ #include <getopt.h> @@ -102,7 +102,7 @@ static void free_argv(void) { int main(int argc, char *argv[]) { - ip6tc_handle_t handle; + ip6tc_handle_t handle = NULL; char buffer[10240]; int c; char curtable[IP6T_TABLE_MAXNAMELEN + 1]; @@ -183,6 +183,9 @@ int main(int argc, char *argv[]) } strncpy(curtable, table, IP6T_TABLE_MAXNAMELEN); + if (handle) + ip6tc_free(&handle); + handle = create_handle(table, modprobe); if (noflush == 0) { DEBUGP("Cleaning all chains of table '%s'\n", |