chiark / gitweb /
resolved: fix multi-record packets with TXTs
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 31 Jul 2014 14:44:11 +0000 (10:44 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 31 Jul 2014 14:45:24 +0000 (10:45 -0400)
src/resolve/resolved-dns-packet.c

index fae105d0daae4e9f0ff8dfe140ad7e577791d9b6..32c4876a54a2e8e80494c1b0cb0cf13e343d93df 100644 (file)
@@ -968,7 +968,7 @@ int dns_packet_read_rr(DnsPacket *p, DnsResourceRecord **ret, size_t *start) {
         case DNS_TYPE_TXT: {
                 char *s;
 
         case DNS_TYPE_TXT: {
                 char *s;
 
-                while (p->rindex < p->size) {
+                while (p->rindex < offset + rdlength) {
                         r = dns_packet_read_string(p, &s, NULL);
                         if (r < 0)
                                 goto fail;
                         r = dns_packet_read_string(p, &s, NULL);
                         if (r < 0)
                                 goto fail;