luci-lib-ip: explicitly initialize address scope value
Explicitly initialize the address scope value to zero in parse_cidr() and
L_setaddr() to avoid stray scope identifiers getting added when formatting
the address object as string.
Fixes: 1d2b4c777
("luci-lib-ip: support scoped IPv6 addresses")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
894752610d
commit
5cbbfaba3e
1 changed files with 6 additions and 0 deletions
|
@ -216,6 +216,9 @@ static bool parse_cidr(const char *dest, cidr_t *pp)
|
|||
if (pp->scope == 0)
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
pp->scope = 0;
|
||||
}
|
||||
|
||||
if (p)
|
||||
{
|
||||
|
@ -327,18 +330,21 @@ static void L_setaddr(struct lua_State *L, const char *name,
|
|||
p->family = AF_INET;
|
||||
p->bits = (bits < 0) ? AF_BITS(AF_INET) : bits;
|
||||
p->addr.v4 = *(struct in_addr *)addr;
|
||||
p->scope = 0;
|
||||
}
|
||||
else if (family == AF_INET6)
|
||||
{
|
||||
p->family = AF_INET6;
|
||||
p->bits = (bits < 0) ? AF_BITS(AF_INET6) : bits;
|
||||
p->addr.v6 = *(struct in6_addr *)addr;
|
||||
p->scope = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
p->family = AF_PACKET;
|
||||
p->bits = (bits < 0) ? AF_BITS(AF_PACKET) : bits;
|
||||
p->addr.mac = *(struct ether_addr *)addr;
|
||||
p->scope = 0;
|
||||
}
|
||||
|
||||
luaL_getmetatable(L, LUCI_IP_CIDR);
|
||||
|
|
Loading…
Reference in a new issue