mirror of
https://passt.top/passt
synced 2024-12-22 13:45:32 +00:00
dhcpv6: Subtract option length before returning one option
dhcpv6_opt() needs to subtract option length _before_ returning, so that callers can conveniently pass the remaining length on subsequent calls. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
ad60ab1b37
commit
49c766398d
3
dhcpv6.c
3
dhcpv6.c
@ -277,10 +277,11 @@ static struct opt_hdr *dhcpv6_opt(struct opt_hdr *o, uint16_t type, size_t *len)
|
||||
if (ntohs(o->l) > *len)
|
||||
return NULL;
|
||||
|
||||
*len -= ntohs(o->l) + sizeof(struct opt_hdr);
|
||||
|
||||
if (o->t == type)
|
||||
return o;
|
||||
|
||||
*len -= ntohs(o->l) + sizeof(struct opt_hdr);
|
||||
o = (struct opt_hdr *)((uint8_t *)(o + 1) + ntohs(o->l));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user