fix zero division found by syzkaller. The sanity checks in pf(4) ioctls
authorsashan <sashan@openbsd.org>
Thu, 16 Dec 2021 02:01:59 +0000 (02:01 +0000)
committersashan <sashan@openbsd.org>
Thu, 16 Dec 2021 02:01:59 +0000 (02:01 +0000)
commit38bfd041cb0f3c15f443e825a3c3432e2dd5dc55
tree35acc6c2fbb4d71c92278843c355f33b64e05415
parent4023ddd7d2e6b6e627f7c435c56b15aa3f050546
fix zero division found by syzkaller. The sanity checks in pf(4) ioctls
are not powerful enough to detect invalid port ranges (or even invalid
rules). syzkaller does not use pfctl(8), it uses ioctl(2) to pass some
random chunk of memory as a rule to pf(4). Fix adds explicit check
for 0 divider to pf_get_transaddr(). It should make syzkaller happy
without disturbing anyone else.

OK gnezdo@

Reported-by: syzbot+d1f00da48fa717e171f3@syzkaller.appspotmail.com
sys/net/pf_lb.c