summaryrefslogtreecommitdiffstats
path: root/iptables-restore.c
diff options
context:
space:
mode:
authorMartin Josefsson <gandalf@wlug.westbo.se>2003-05-02 15:30:11 +0000
committerHarald Welte <laforge@gnumonks.org>2003-05-02 15:30:11 +0000
commit841e4aed2349046eb2c0b1375139c06569a93bd0 (patch)
tree9f7a208076fc164ca3d52e745964c7dbc7afc350 /iptables-restore.c
parent59cbe17cee0499c8f25a8d9f29513f4c85e9b03c (diff)
fix memory leak(s) in libiptc. Reverts the previous (wrong) patch. (Martin Josefsson)
Diffstat (limited to 'iptables-restore.c')
-rw-r--r--iptables-restore.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/iptables-restore.c b/iptables-restore.c
index 74f7db33..c1888ce5 100644
--- a/iptables-restore.c
+++ b/iptables-restore.c
@@ -4,7 +4,7 @@
*
* This code is distributed under the terms of GNU GPL v2
*
- * $Id: iptables-restore.c,v 1.24 2003/03/03 08:08:37 laforge Exp $
+ * $Id: iptables-restore.c,v 1.25 2003/03/06 11:56:31 laforge Exp $
*/
#include <getopt.h>
@@ -99,7 +99,7 @@ static void free_argv(void) {
int main(int argc, char *argv[])
{
- iptc_handle_t handle;
+ iptc_handle_t handle = NULL;
char buffer[10240];
int c;
char curtable[IPT_TABLE_MAXNAMELEN + 1];
@@ -180,6 +180,9 @@ int main(int argc, char *argv[])
}
strncpy(curtable, table, IPT_TABLE_MAXNAMELEN);
+ if (handle)
+ iptc_free(&handle);
+
handle = create_handle(table, modprobe);
if (noflush == 0) {
DEBUGP("Cleaning all chains of table '%s'\n",