31-byte DNS response

offset  size  value       meaning
0       2     0000        transaction ID
2       2     8000        response, no error
4       2     0001        QDCOUNT = 1
6       2     0001        ANCOUNT = 1
8       2     0000        NSCOUNT = 0
10      2     0000        ARCOUNT = 0
12      3     016100      QNAME = a.
15      2     0010        QTYPE = TXT
17      2     0001        QCLASS = IN
19      2     c00c        answer NAME = pointer to a.
21      2     0010        answer TYPE = TXT
23      2     0001        answer CLASS = IN
25      4     00000000    TTL = 0
29      2     0000        RDLENGTH = 0; packet ends here

After RDLENGTH is consumed, reader == bufend == packet + 31. The generic
RDATA bounds check accepts zero bytes, then the TXT case evaluates reader[0].
