diff options
author | rwatson <rwatson@FreeBSD.org> | 2009-06-24 14:29:40 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2009-06-24 14:29:40 +0000 |
commit | b1ee9361a4295c3daca88aba5ce6edf2f48e8456 (patch) | |
tree | 5685212063087b1b7ebe76d0436e7e0d689061af /etc/namedb | |
parent | cceae54c51a10e1742d7b182bb2136cb5c78cd38 (diff) | |
download | FreeBSD-src-b1ee9361a4295c3daca88aba5ce6edf2f48e8456.zip FreeBSD-src-b1ee9361a4295c3daca88aba5ce6edf2f48e8456.tar.gz |
Clear 'ia' after iterating if_addrhead for unicast address matching: since
'ifa' was used as the TAILQ_FOREACH() iterator argument, and 'ia' was just
derived form it, it could be left non-NULL which confused later
conditional freeing code. This could cause kernel panics if multicast IP
packets were received. [1]
Call 'struct in_ifaddr *' in ip_rtaddr() 'ia', not 'ifa' in keeping with
normal conventions.
When 'ipstealth' is enabled returns from ip_input early, properly release
the 'ia' reference.
Reported by: lstewart, sam [1]
MFC after: 6 weeks
Diffstat (limited to 'etc/namedb')
0 files changed, 0 insertions, 0 deletions