summaryrefslogtreecommitdiffstats
path: root/libiptc
diff options
context:
space:
mode:
authorMartin Josefsson <gandalf@wlug.westbo.se>2004-09-22 22:04:07 +0000
committerMartin Josefsson <gandalf@wlug.westbo.se>2004-09-22 22:04:07 +0000
commitad3b4f9973ac15981b98b8fc4d364ef1ce524212 (patch)
tree46f196c30ee15440fe558be553bbfdf4ad6645f8 /libiptc
parent2a5dbbb883fb0cc8a122b47a5d8e08ef3e6ff5bc (diff)
Make sure to zero all the memory we allocate for the new table.
Makes flushing of chains containing more than a few entries work without potentially oopsing the kernel.
Diffstat (limited to 'libiptc')
-rw-r--r--libiptc/libiptc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libiptc/libiptc.c b/libiptc/libiptc.c
index 7c711b19..957af672 100644
--- a/libiptc/libiptc.c
+++ b/libiptc/libiptc.c
@@ -1,4 +1,4 @@
-/* Library which manipulates firewall rules. Version $Revision: 1.54 $ */
+/* Library which manipulates firewall rules. Version $Revision: 1.55 $ */
/* Architecture of firewall rules is as follows:
*
@@ -1962,7 +1962,7 @@ TC_COMMIT(TC_HANDLE_T *handle)
errno = ENOMEM;
return 0;
}
- memset(repl, 0, sizeof(*repl));
+ memset(repl, 0, sizeof(*repl) + new_size);
counterlen = sizeof(STRUCT_COUNTERS_INFO)
+ sizeof(STRUCT_COUNTERS) * new_number;