summaryrefslogtreecommitdiffhomepage
path: root/libs
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-01-23 12:31:36 +0100
committerJo-Philipp Wich <jo@mein.io>2020-01-23 12:33:49 +0100
commit5cbbfaba3e2935b61b42fe339e78b3ff300c1619 (patch)
tree0bd5317cfa9d0be53c0fd3d1ba2bd3ea9aaed0ee /libs
parent894752610d80a2fa1cdb6a845526728eeb0bc984 (diff)
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>
Diffstat (limited to 'libs')
-rw-r--r--libs/luci-lib-ip/src/ip.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/luci-lib-ip/src/ip.c b/libs/luci-lib-ip/src/ip.c
index 34a120d1a..698cf9a11 100644
--- a/libs/luci-lib-ip/src/ip.c
+++ b/libs/luci-lib-ip/src/ip.c
@@ -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);