Reject a bad EDNS0_SUBNET family on unpack (not only on pack)
This commit is contained in:
parent
40484667f4
commit
155118a341
5
edns.go
5
edns.go
|
@ -257,8 +257,7 @@ func (e *EDNS0_SUBNET) pack() ([]byte, error) {
|
|||
}
|
||||
|
||||
func (e *EDNS0_SUBNET) unpack(b []byte) error {
|
||||
lb := len(b)
|
||||
if lb < 4 {
|
||||
if len(b) < 4 {
|
||||
return ErrBuf
|
||||
}
|
||||
e.Family, _ = unpackUint16(b, 0)
|
||||
|
@ -285,6 +284,8 @@ func (e *EDNS0_SUBNET) unpack(b []byte) error {
|
|||
e.Address = net.IP{addr[0], addr[1], addr[2], addr[3], addr[4],
|
||||
addr[5], addr[6], addr[7], addr[8], addr[9], addr[10],
|
||||
addr[11], addr[12], addr[13], addr[14], addr[15]}
|
||||
default:
|
||||
return errors.New("dns: bad address family")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue