summaryrefslogtreecommitdiff
path: root/nametoaddr.c
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2019-12-19 00:11:18 +0000
committerCy Schubert <cy@FreeBSD.org>2019-12-19 00:11:18 +0000
commit20616273d52132557e786a8aea1637be4c218a08 (patch)
tree452ee24d7187b385295c6b2bba5d6324881ef924 /nametoaddr.c
parent30a580a870fabfea51e4b970c488e58bd1515ce4 (diff)
Notes
Diffstat (limited to 'nametoaddr.c')
-rw-r--r--nametoaddr.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/nametoaddr.c b/nametoaddr.c
index 7c48bd3a3513..34a8b5593a64 100644
--- a/nametoaddr.c
+++ b/nametoaddr.c
@@ -653,8 +653,15 @@ __pcap_atoin(const char *s, bpf_u_int32 *addr)
len = 0;
for (;;) {
n = 0;
- while (*s && *s != '.')
+ while (*s && *s != '.') {
+ if (n > 25) {
+ /* The result will be > 255 */
+ return -1;
+ }
n = n * 10 + *s++ - '0';
+ }
+ if (n > 255)
+ return -1;
*addr <<= 8;
*addr |= n & 0xff;
len += 8;