dns-domain: never allow labels that are larger than 63 chars
This commit is contained in:
parent
3fe1169fe3
commit
1fa65c593c
|
@ -45,6 +45,9 @@ int dns_label_unescape(const char **name, char *dest, size_t sz) {
|
|||
if (sz <= 0)
|
||||
return -ENOSPC;
|
||||
|
||||
if (r >= DNS_LABEL_MAX)
|
||||
return -EINVAL;
|
||||
|
||||
if (*n == '\\') {
|
||||
/* Escaped character */
|
||||
|
||||
|
@ -114,6 +117,9 @@ int dns_label_escape(const char *p, size_t l, char **ret) {
|
|||
assert(p);
|
||||
assert(ret);
|
||||
|
||||
if (l > DNS_LABEL_MAX)
|
||||
return -EINVAL;
|
||||
|
||||
s = malloc(l * 4 + 1);
|
||||
if (!s)
|
||||
return -ENOMEM;
|
||||
|
|
Loading…
Reference in New Issue