resolve: reject empty TXT records

TXT records should have at least one character, so enforce this.

Before 0f84a72 parser SIGSEGV'd on ->txt.strings being NULL, but
even if this is fixed we should reject invalid TXT records.
This commit is contained in:
Stanisław Pitucha 2014-11-18 14:52:13 +11:00 committed by Zbigniew Jędrzejewski-Szmek
parent 59aa582137
commit 0e3434aeb1

View file

@ -1114,6 +1114,13 @@ int dns_packet_read_rr(DnsPacket *p, DnsResourceRecord **ret, size_t *start) {
case DNS_TYPE_TXT: {
char *s;
/* RFC 1035 says that TXT must be at least one
string. Reject empty records. */
if (!rdlength) {
r = -EBADMSG;
goto fail;
}
while (p->rindex < offset + rdlength) {
r = dns_packet_read_string(p, &s, NULL);
if (r < 0)