With this fix, ipfstat runs ok on my NetBSD-4/sparc. Without it,
'ipfstat -inh' gets a bus error, I think due to the u_long being not
aligned to 8 and faulting on a long long access. Should I commit it to
current, or does Darren want to comment and/or fix it differently, or
file a PR, or ???
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 18:12:36 -0000
@@ -792,6 +792,8 @@ char *group, *comment;
frgroup_t *g;
ipfobj_t obj;
int n;
+ /* XXX Why is this size ok? */
+ u_long *array = calloc(sizeof(u_long), 1000);
if (use_inet6 == 1)
fb.fr_v = 6;
@@ -819,8 +821,6 @@ char *group, *comment;
obj.ipfo_ptr = &rule;
do {
- u_long array[1000];
-
memset(array, 0xff, sizeof(array));
fp = (frentry_t *)array;
rule.iri_rule = fp;
Attachment:
pgp6op7UQMJ2b.pgp
Description: PGP signature