diff options
author | Manuel Schölling <manuel.schoelling@gmx.de> | 2014-05-31 17:37:40 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-06-05 03:05:53 -0400 |
commit | 9638f6713ff556bdc34e9d18eeb7c1b25b35e5ce (patch) | |
tree | 15d915b3f585a6ad528bfa936a7d44bec9093ab2 /net | |
parent | 555878b9ee83b08701100baa0fd79d3954a37ce7 (diff) |
dns_resolver: Do not accept domain names longer than 255 chars
According to RFC1035 "[...] the total length of a domain name (i.e.,
label octets and label length octets) is restricted to 255 octets or
less."
Signed-off-by: Manuel Schölling <manuel.schoelling@gmx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/dns_resolver/dns_query.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/dns_resolver/dns_query.c b/net/dns_resolver/dns_query.c index e7b6d53eef88..5b499589613f 100644 --- a/net/dns_resolver/dns_query.c +++ b/net/dns_resolver/dns_query.c | |||
@@ -93,8 +93,8 @@ int dns_query(const char *type, const char *name, size_t namelen, | |||
93 | } | 93 | } |
94 | 94 | ||
95 | if (!namelen) | 95 | if (!namelen) |
96 | namelen = strlen(name); | 96 | namelen = strnlen(name, 256); |
97 | if (namelen < 3) | 97 | if (namelen < 3 || namelen > 255) |
98 | return -EINVAL; | 98 | return -EINVAL; |
99 | desclen += namelen + 1; | 99 | desclen += namelen + 1; |
100 | 100 | ||