svn commit: r240809 - head/sys/netpfil/pf

Gleb Smirnoff glebius at FreeBSD.org
Sat Sep 22 10:02:45 UTC 2012


Author: glebius
Date: Sat Sep 22 10:02:44 2012
New Revision: 240809
URL: http://svn.freebsd.org/changeset/base/240809

Log:
  Fix fallout from r236397 in pfr_update_stats(), that was missed
  later in r237155. We need to zero sockaddr before lookup. While
  here, make pfr_update_stats() panic on unknown af.

Modified:
  head/sys/netpfil/pf/pf_table.c

Modified: head/sys/netpfil/pf/pf_table.c
==============================================================================
--- head/sys/netpfil/pf/pf_table.c	Sat Sep 22 08:48:26 2012	(r240808)
+++ head/sys/netpfil/pf/pf_table.c	Sat Sep 22 10:02:44 2012	(r240809)
@@ -1954,6 +1954,7 @@ pfr_update_stats(struct pfr_ktable *kt, 
 	    {
 		struct sockaddr_in sin;
 
+		bzero(&sin, sizeof(sin));
 		sin.sin_len = sizeof(sin);
 		sin.sin_family = AF_INET;
 		sin.sin_addr.s_addr = a->addr32[0];
@@ -1968,6 +1969,7 @@ pfr_update_stats(struct pfr_ktable *kt, 
 	    {
 		struct sockaddr_in6 sin6;
 
+		bzero(&sin6, sizeof(sin6));
 		sin6.sin6_len = sizeof(sin6);
 		sin6.sin6_family = AF_INET6;
 		bcopy(a, &sin6.sin6_addr, sizeof(sin6.sin6_addr));
@@ -1978,7 +1980,7 @@ pfr_update_stats(struct pfr_ktable *kt, 
 	    }
 #endif /* INET6 */
 	default:
-		;
+		panic("%s: unknown address family %u", __func__, af);
 	}
 	if ((ke == NULL || ke->pfrke_not) != notrule) {
 		if (op_pass != PFR_OP_PASS)


More information about the svn-src-all mailing list