diff --git a/edns.go b/edns.go index d244f7c6..04808d57 100644 --- a/edns.go +++ b/edns.go @@ -543,6 +543,10 @@ func (e *EDNS0_EXPIRE) pack() ([]byte, error) { } func (e *EDNS0_EXPIRE) unpack(b []byte) error { + if len(b) == 0 { + // zero-length EXPIRE query, see RFC 7314 Section 2 + return nil + } if len(b) < 4 { return ErrBuf }