5 ms·
The way to handle security problems with corner cases is to just return a parse error if something unusual is seen. With security, the rule is to be conservativ
by strenholme 6y ago
The way to handle security problems with corner cases is to just return a parse error if something unusual is seen. With security, the rule is to be conservative with what you accept; anything unusual should be rejected.
In cases where backwards compatibility is needed, just use inet_pton() and let the libc maintainers deal with the bug reports (I believe inet_pton() dropped octal and hex support for ipv4 addresses)
- secondcoming 6y ago> I believe inet_pton() dropped octal and hex support for ipv4 addresses Correct. It also doesn't support truncation unlike inet_aton. e.g. inet_aton considers "1.2.3" and "1.2.0.3" to be the same address.