diff options
author | Wolfram Sang <w.sang@pengutronix.de> | 2011-09-25 22:54:11 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-09-26 13:22:25 +0200 |
commit | a3ccaecb1c0c60f4d6cd662e1fe9956c7997da17 (patch) | |
tree | c37d0ef3da8af8c747695098e0d826d698389b1b /net | |
parent | 9c4dc73eaa7d6e6fc7127ba7c5ccdfa92443aeb2 (diff) | |
download | barebox-a3ccaecb1c0c60f4d6cd662e1fe9956c7997da17.tar.gz barebox-a3ccaecb1c0c60f4d6cd662e1fe9956c7997da17.tar.xz |
net: string_to_ip: add sanity check for > 255
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net')
-rw-r--r-- | net/net.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -113,8 +113,10 @@ int string_to_ip(const char *s, IPaddr_t *ip) return -EINVAL; val = simple_strtoul(s, &e, 10); - addr <<= 8; - addr |= (val & 0xFF); + if (val > 255) + return -EINVAL; + + addr = (addr << 8) | val; if (*e != '.' && i != 3) return -EINVAL; |