]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Explicitly initialize the memory buffer to store O_ICMP6TYPE opcode.
authorae <ae@FreeBSD.org>
Tue, 15 Oct 2019 09:50:02 +0000 (09:50 +0000)
committerae <ae@FreeBSD.org>
Tue, 15 Oct 2019 09:50:02 +0000 (09:50 +0000)
commit47e558ffe5a076846729118f4bc18c45cab8f9fe
treebf66d47aa3cd5347872303542e7be13977e0e547
parent6cf7c42d8b1262a6fc8ea438f237a1e2b1e7113f
Explicitly initialize the memory buffer to store O_ICMP6TYPE opcode.

By default next_cmd() initializes only first u32 of opcode. O_ICMP6TYPE
opcode has array of bit masks to store corresponding ICMPv6 types.
An opcode that precedes O_ICMP6TYPE, e.g. O_IP6_DST, can have variable
length and during opcode filling it can modify memory that will be used
by O_ICMP6TYPE opcode. Without explicit initialization this leads to
creation of wrong opcode.

Reported by: Boris N. Lytochkin
Obtained from: Yandex LLC
MFC after: 3 days
sbin/ipfw/ipv6.c