diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 98b5657f728..c7d5e923d50 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -11544,10 +11544,6 @@ pf_counters_inc(int action, struct pf_pdesc *pd, struct pf_kstate *s, } } - if (s == NULL) { - pf_free_match_rules(mr); - } - if (a != NULL) { pf_rule_counters_inc(pd, a, dir_out, op_r_pass, af, src_host, dst_host); @@ -11559,6 +11555,10 @@ pf_counters_inc(int action, struct pf_pdesc *pd, struct pf_kstate *s, } pf_counter_u64_critical_exit(); + + if (s == NULL) { + pf_free_match_rules(mr); + } } static void