summaryrefslogtreecommitdiff
path: root/shared/netutils/netutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'shared/netutils/netutils.c')
-rw-r--r--shared/netutils/netutils.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/shared/netutils/netutils.c b/shared/netutils/netutils.c
index 84b4405c4..cd1422f7c 100644
--- a/shared/netutils/netutils.c
+++ b/shared/netutils/netutils.c
@@ -63,7 +63,13 @@ void netutils_parse_ipv4_addr(mp_obj_t addr_in, uint8_t *out_ip, netutils_endian
return;
}
const char *s = addr_str;
- const char *s_top = addr_str + addr_len;
+ const char *s_top;
+ // Scan for the end of valid address characters
+ for (s_top = addr_str; s_top < addr_str + addr_len; s_top++) {
+ if (!(*s_top == '.' || (*s_top >= '0' && *s_top <= '9'))) {
+ break;
+ }
+ }
for (mp_uint_t i = 3; ; i--) {
mp_uint_t val = 0;
for (; s < s_top && *s != '.'; s++) {