mirror of
https://github.com/NLnetLabs/unbound.git
synced 2024-09-21 06:37:08 +00:00
- Make dname_has_label's dnamelen check work with 0 length
This commit is contained in:
parent
ef120738c0
commit
1d9185229e
@ -806,6 +806,7 @@ dname_test_has_label(void)
|
||||
/* buffer too short */
|
||||
unit_assert(dname_has_label((uint8_t*)"\02ab\01c\0", 5, (uint8_t*)"\0") == 0);
|
||||
unit_assert(dname_has_label((uint8_t*)"\1a\0", 2, (uint8_t*)"\0") == 0);
|
||||
unit_assert(dname_has_label((uint8_t*)"\0", 0, (uint8_t*)"\0") == 0);
|
||||
unit_assert(dname_has_label((uint8_t*)"\02ab\01c", 4, (uint8_t*)"\01c") == 0);
|
||||
unit_assert(dname_has_label((uint8_t*)"\02ab\03qwe\06oqieur\03def\01c\0", 19, (uint8_t*)"\01c") == 0);
|
||||
|
||||
|
@ -561,7 +561,13 @@ dname_lab_startswith(uint8_t* label, char* prefix, char** endptr)
|
||||
int
|
||||
dname_has_label(uint8_t* dname, size_t dnamelen, uint8_t* label)
|
||||
{
|
||||
size_t len = *dname;
|
||||
size_t len;
|
||||
|
||||
/* 1 byte needed for the label length */
|
||||
if(dnamelen < 1)
|
||||
return 0;
|
||||
|
||||
len = *dname;
|
||||
while(len <= dnamelen) {
|
||||
if(!(*dname)) {
|
||||
if(*dname == *label)
|
||||
|
Loading…
Reference in New Issue
Block a user