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>
(cherry picked from commit
5cbbfaba3e2935b61b42fe339e78b3ff300c1619)
if (pp->scope == 0)
return false;
}
+ else {
+ pp->scope = 0;
+ }
if (p)
{
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);