diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2007-06-02 01:28:56 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2007-06-02 01:28:56 +0000 |
commit | bc5e767d3a388122b191e1a164586dc30794a30a (patch) | |
tree | 55bbdad1e789586440abb7a9cf3c0d1124cba3e1 /sys | |
parent | 2a4cb0a30650d052fe3298fae563e50b6849aa83 (diff) |
pf_set_rt_ifp accesses state key data, so must be called later
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net/pf.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c index 0bed83e17c7..1e466b106f9 100644 --- a/sys/net/pf.c +++ b/sys/net/pf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pf.c,v 1.540 2007/06/01 18:44:22 henning Exp $ */ +/* $OpenBSD: pf.c,v 1.541 2007/06/02 01:28:55 henning Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -3317,7 +3317,6 @@ cleanup: s->creation = time_second; s->expire = time_second; - pf_set_rt_ifp(s, saddr); if (sn != NULL) { s->src_node = sn; s->src_node->states++; @@ -3406,6 +3405,8 @@ cleanup: } } + pf_set_rt_ifp(s, saddr); /* needs s->state_key set */ + if (pf_insert_state(BOUND_IFACE(r, kif), s)) { if (pd->proto == IPPROTO_TCP) pf_normalize_tcp_cleanup(s); |