]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
check for overlong labels
authorMiek Gieben <miekg@NLnetLabs.nl>
Thu, 2 Mar 2006 14:45:39 +0000 (14:45 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Thu, 2 Mar 2006 14:45:39 +0000 (14:45 +0000)
wire2host.c

index f4c8766ebe85ebd67a2261fc0aad6f2523921ebf..ab0b8753de979f9605c52a610e00bf37db4edc16 100644 (file)
@@ -111,6 +111,11 @@ ldns_wire2dname(ldns_rdf **dname, const uint8_t *wire, size_t max, size_t *pos)
                uncompressed_length += label_size + 1;
                dname_pos += label_size;
                *pos = *pos + label_size;
+
+               if (dname_pos > LDNS_MAX_DOMAINLEN)  {
+                       return LDNS_STATUS_DOMAINNAME_OVERFLOW;
+               }
+               
                if (*pos < max) {
                        label_size = wire[*pos];
                }