Page MenuHomeFreeBSD

pf: fix another endpoint-independent crash
ClosedPublic

Authored by kp on Fri, Nov 21, 1:24 PM.
Tags
None
Referenced Files
F137266103: D53856.diff
Fri, Nov 21, 10:22 PM
F137248885: D53856.id166905.diff
Fri, Nov 21, 7:48 PM
F137245199: D53856.id.diff
Fri, Nov 21, 6:50 PM
F137243801: D53856.id.diff
Fri, Nov 21, 6:27 PM
F137243774: D53856.id166905.diff
Fri, Nov 21, 6:26 PM
F137243752: D53856.id166889.diff
Fri, Nov 21, 6:26 PM
F137243388: D53856.diff
Fri, Nov 21, 6:19 PM
F137237452: D53856.id166889.diff
Fri, Nov 21, 5:19 PM

Details

Summary

In c12013f5bb38 we fixed udp_mapping cleanup issues in pf_get_sport(), but
missed the static-port case (i.e. low == 0 && high == 0). We could still exit
pf_get_sport() without either inserting the udp_mapping or freeing it.

Address this and add a test case to provoke the problem.

MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 68781
Build 65664: arc lint + arc unit