Skip to content

Commit

Permalink
ipv6_addr: provide fix for off-by-x error
Browse files Browse the repository at this point in the history
  • Loading branch information
miri64 committed Apr 25, 2017
1 parent 7f77898 commit eef90c0
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions sys/net/network_layer/ipv6/addr/ipv6_addr_from_str.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ ipv6_addr_t *ipv6_addr_from_str(ipv6_addr_t *result, const char *addr)
continue;
}

if (i > sizeof(ipv6_addr_t)) {
if ((i + sizeof(uint16_t)) > sizeof(ipv6_addr_t)) {
return NULL;
}

Expand All @@ -108,7 +108,7 @@ ipv6_addr_t *ipv6_addr_from_str(ipv6_addr_t *result, const char *addr)
}

#ifdef MODULE_IPV4_ADDR
if (ch == '.' && (i <= sizeof(ipv6_addr_t)) &&
if (ch == '.' && ((i + sizeof(ipv4_addr_t)) <= sizeof(ipv6_addr_t)) &&
ipv4_addr_from_str((ipv4_addr_t *)(&(result->u8[i])),
curtok) != NULL) {
i += sizeof(ipv4_addr_t);
Expand Down

0 comments on commit eef90c0

Please sign in to comment.