Thanks - this patch is now a little gross, but I'm trying to make minimal changes. Index: dist/ipf/tools/ipfstat.c =================================================================== RCS file: /cvsroot/src/dist/ipf/tools/ipfstat.c,v retrieving revision 1.12.4.3 diff -u -p -r1.12.4.3 ipfstat.c --- dist/ipf/tools/ipfstat.c 16 Jul 2007 11:05:32 -0000 1.12.4.3 +++ dist/ipf/tools/ipfstat.c 6 Mar 2009 19:06:32 -0000 @@ -792,6 +792,11 @@ char *group, *comment; frgroup_t *g; ipfobj_t obj; int n; + /* XXX Why is this size ok? */ +#define ARRAY_ELEMENTS 1000 + size_t array_size = sizeof(u_long) * ARRAY_ELEMENTS; + u_long *array = calloc(sizeof(u_long), ARRAY_ELEMENTS); +#undef ARRAY_ELEMENTS if (use_inet6 == 1) fb.fr_v = 6; @@ -819,9 +824,7 @@ char *group, *comment; obj.ipfo_ptr = &rule; do { - u_long array[1000]; - - memset(array, 0xff, sizeof(array)); + memset(array, 0xff, array_size); fp = (frentry_t *)array; rule.iri_rule = fp; if (ioctl(ipf_fd, SIOCIPFITER, &obj) == -1) {
Attachment:
pgpETDNXixNAZ.pgp
Description: PGP signature