Author: glebius
Date: Fri Nov 22 18:57:27 2013
New Revision: 258477
URL: http://svnweb.freebsd.org/changeset/base/258477

Log:
  Fix off by ones when scanning source nodes hash.
  
  Sponsored by: Nginx, Inc.

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

Modified: head/sys/netpfil/pf/pf_ioctl.c
==============================================================================
--- head/sys/netpfil/pf/pf_ioctl.c      Fri Nov 22 18:57:22 2013        
(r258476)
+++ head/sys/netpfil/pf/pf_ioctl.c      Fri Nov 22 18:57:27 2013        
(r258477)
@@ -3081,7 +3081,7 @@ DIOCCHANGEADDR_error:
                uint32_t                 i, nr = 0;
 
                if (psn->psn_len == 0) {
-                       for (i = 0, sh = V_pf_srchash; i < V_pf_srchashmask;
+                       for (i = 0, sh = V_pf_srchash; i <= V_pf_srchashmask;
                            i++, sh++) {
                                PF_HASHROW_LOCK(sh);
                                LIST_FOREACH(n, &sh->nodes, entry)
@@ -3093,7 +3093,7 @@ DIOCCHANGEADDR_error:
                }
 
                p = pstore = malloc(psn->psn_len, M_TEMP, M_WAITOK);
-               for (i = 0, sh = V_pf_srchash; i < V_pf_srchashmask;
+               for (i = 0, sh = V_pf_srchash; i <= V_pf_srchashmask;
                    i++, sh++) {
                    PF_HASHROW_LOCK(sh);
                    LIST_FOREACH(n, &sh->nodes, entry) {
@@ -3385,7 +3385,7 @@ pf_clear_srcnodes(struct pf_src_node *n)
        if (n == NULL) {
                struct pf_srchash *sh;
 
-               for (i = 0, sh = V_pf_srchash; i < V_pf_srchashmask;
+               for (i = 0, sh = V_pf_srchash; i <= V_pf_srchashmask;
                    i++, sh++) {
                        PF_HASHROW_LOCK(sh);
                        LIST_FOREACH(n, &sh->nodes, entry) {
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to