]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r328876:
authorae <ae@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 12 Feb 2018 13:52:58 +0000 (13:52 +0000)
committerae <ae@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 12 Feb 2018 13:52:58 +0000 (13:52 +0000)
commit3074e47827fd5750d80816d0800876f3ca2576d4
tree1d8e7e3c8464708c8855733929b9eafb199dd2a5
parent623b01f566c264372cc7175452129e99272bef90
MFC r328876:
  Modify ip6_get_prevhdr() to be able use it safely.

  Instead of returning pointer to the previous header, return its offset.
  In frag6_input() use m_copyback() and determined offset to store next
  header instead of accessing to it by pointer and assuming that the memory
  is contiguous.

  In rip6_input() use offset returned by ip6_get_prevhdr() instead of
  calculating it from pointers arithmetic, because IP header can belong
  to another mbuf in the chain.

  Reported by: Maxime Villard <max at m00nbsd dot net>

git-svn-id: svn://svn.freebsd.org/base/stable/10@329158 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/netinet6/frag6.c
sys/netinet6/ip6_input.c
sys/netinet6/ip6_var.h
sys/netinet6/raw_ip6.c