- improve dname_has_label(), add unit test

This commit is contained in:
Ralph Dolmans
2020-01-16 17:50:44 +01:00
parent b78373216d
commit bda4c4a375
2 changed files with 38 additions and 2 deletions
+10 -2
View File
@@ -562,12 +562,20 @@ int
dname_has_label(uint8_t* dname, size_t dnamelen, uint8_t* label)
{
size_t len = *dname;
while(*dname && len <= dnamelen) {
if(*dname == *label && memlowercmp(dname+1, label+1, *dname) == 0)
while(len <= dnamelen) {
if(!(*dname)) {
if(*dname == *label)
return 1; /* empty label match */
/* termination label found, stop iterating */
return 0;
}
if(*dname == *label && *label &&
memlowercmp(dname+1, label+1, *dname) == 0)
return 1;
len += *dname;
dname += *dname;
dname++;
len++;
}
return 0;
}