]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix dname_has_label() code review changes
authorRalph Dolmans <ralph@nlnetlabs.nl>
Mon, 23 Dec 2019 16:35:11 +0000 (17:35 +0100)
committerRalph Dolmans <ralph@nlnetlabs.nl>
Mon, 23 Dec 2019 16:35:11 +0000 (17:35 +0100)
util/data/dname.c

index 366d7a3f5d56d369444747f91e04e8c007025f21..d55b1358dfb389c7d3fe4b66dc0797c225aa9a9a 100644 (file)
@@ -549,9 +549,13 @@ dname_lab_startswith(uint8_t* label, char* prefix, char** endptr)
 int
 dname_has_label(uint8_t* dname, uint8_t* label)
 {
-       uint8_t lablen = *dname++;
-       if(memlowercmp(dname, label, lablen) == 0)
-               return 1;
+       uint8_t lablen = *dname;
+       while(lablen) {
+               if(lablen == *label && memlowercmp(dname, label, lablen) == 0)
+                       return 1;
+               dname += lablen;
+               lablen = *dname;
+       }
        return 0;
 }