=================================================================== RCS file: /data/cvspublic/iptables/iptables.c,v retrieving revision 1.68 retrieving revision 1.70 diff -u -r1.68 -r1.70 --- iptables/iptables.c 2004/05/26 16:04:48 1.68 +++ iptables/iptables.c 2004/08/03 22:38:39 1.70 @@ -551,7 +551,7 @@ while (host->h_addr_list[*naddr] != (char *) NULL) (*naddr)++; - addr = fw_calloc(*naddr, sizeof(struct in_addr)); + addr = fw_calloc(*naddr, sizeof(struct in_addr) * *naddr); for (i = 0; i < *naddr; i++) inaddrcpy(&(addr[i]), (struct in_addr *) host->h_addr_list[i]); @@ -2339,11 +2339,8 @@ e = NULL; } - for (c = 0; c < nsaddrs; c++) - free(&saddrs[c]); - - for (c = 0; c < ndaddrs; c++) - free(&daddrs[c]); + free(saddrs); + free(daddrs); if (opts != original_opts) { free(opts);