mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 08:42:12 +02:00
lib: net_utils: make string_to_ip stricter
Previously values greater than 255 were implicitly truncated. Add some stricter checking to reject addresses with components >255. With the input "1234192.168.1.1" the old behaviour would truncate the address to 192.168.1.1. New behaviour rejects the string outright and returns 0.0.0.0, which for the purposes of IP addresses can be considered an error. Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit is contained in:
@@ -24,6 +24,10 @@ struct in_addr string_to_ip(const char *s)
|
||||
|
||||
for (addr.s_addr = 0, i = 0; i < 4; ++i) {
|
||||
ulong val = s ? simple_strtoul(s, &e, 10) : 0;
|
||||
if (val > 255) {
|
||||
addr.s_addr = 0;
|
||||
return addr;
|
||||
}
|
||||
addr.s_addr <<= 8;
|
||||
addr.s_addr |= (val & 0xFF);
|
||||
if (s) {
|
||||
|
Reference in New Issue
Block a user