let pfsync_request_update actually retry when it overfills a packet.
authordlg <dlg@openbsd.org>
Fri, 25 Jun 2021 23:48:30 +0000 (23:48 +0000)
committerdlg <dlg@openbsd.org>
Fri, 25 Jun 2021 23:48:30 +0000 (23:48 +0000)
commit7845b46b2ba574e7f66bc4888cb6171c09dd88f3
tree309dfd89fc132de4d268f9c07d9a8cb5dad756bb
parented1a328f1e603948a8725ee8425346f65f49c05a
let pfsync_request_update actually retry when it overfills a packet.

a continue in the middle of a do { } while (0) loop is effectively
a break, it doesnt restart the loop.

without the retry, the code leaked update messages which in turn
made pool_destroy in pfsync destroy trip over a kassert cos items
were still out.

found by and fix tested by hrvoje popovski
ok sashan@
sys/net/if_pfsync.c