in dns parsing callback, enforce MAXADDRS to preclude overflow
authorRich Felker <dalias@aerifal.cx>
Wed, 18 Oct 2017 18:50:03 +0000 (14:50 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 18 Oct 2017 18:50:03 +0000 (14:50 -0400)
commit45ca5d3fcb6f874bf5ba55d0e9651cef68515395
tree277fae4ad1db979b38153b3118323ffe98a0a549
parent5b5eb527c5ed5ca2786bf82892a04ca3bdf33d31
in dns parsing callback, enforce MAXADDRS to preclude overflow

MAXADDRS was chosen not to need enforcement, but the logic used to
compute it assumes the answers received match the RR types of the
queries. specifically, it assumes that only one replu contains A
record answers. if the replies to both the A and the AAAA query have
their answer sections filled with A records, MAXADDRS can be exceeded
and clobber the stack of the calling function.

this bug was found and reported by Felix Wilhelm.
src/network/lookup_name.c