From: Nick Hainke Date: Wed, 13 Jan 2021 15:06:03 +0000 (+0100) Subject: owipcalc: use v6 in cidr_parse6 function X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=5beea4c3fd6b671e102430ba934442f69b1332b0;p=openwrt%2Fstaging%2Fjow.git owipcalc: use v6 in cidr_parse6 function The cidr_parse6 function parses a string to an ipv6-address. The cidr struct contains a union called buf for the ipv4 and ipv6 address. Since it is a char pointer and the struct is initialized with the maximum size (so ipv6 string) it does not make any difference. However, we should access the buffer using the v6 name, since it could be confusing otherwise. Signed-off-by: Nick Hainke --- diff --git a/package/network/utils/owipcalc/Makefile b/package/network/utils/owipcalc/Makefile index fd193ea11f..1f4c98bb48 100644 --- a/package/network/utils/owipcalc/Makefile +++ b/package/network/utils/owipcalc/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=owipcalc -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_LICENSE:=Apache-2.0 include $(INCLUDE_DIR)/package.mk diff --git a/package/network/utils/owipcalc/src/owipcalc.c b/package/network/utils/owipcalc/src/owipcalc.c index f95280cd1c..c4df5c7450 100644 --- a/package/network/utils/owipcalc/src/owipcalc.c +++ b/package/network/utils/owipcalc/src/owipcalc.c @@ -361,11 +361,11 @@ static struct cidr * cidr_parse6(const char *s) if (!addr || (strlen(s) >= sizeof(addr->buf.v6))) goto err; - snprintf(addr->buf.v4, sizeof(addr->buf.v6), "%s", s); + snprintf(addr->buf.v6, sizeof(addr->buf.v6), "%s", s); addr->family = AF_INET6; - if ((p = strchr(addr->buf.v4, '/')) != NULL) + if ((p = strchr(addr->buf.v6, '/')) != NULL) { *p++ = 0; @@ -379,9 +379,9 @@ static struct cidr * cidr_parse6(const char *s) addr->prefix = 128; } - if (p == addr->buf.v4+1) + if (p == addr->buf.v6+1) memset(&addr->addr.v6, 0, sizeof(addr->addr.v6)); - else if (inet_pton(AF_INET6, addr->buf.v4, &addr->addr.v6) != 1) + else if (inet_pton(AF_INET6, addr->buf.v6, &addr->addr.v6) != 1) goto err; return addr;