dns-domain: never allow labels that are larger than 63 chars

This commit is contained in:
Lennart Poettering 2014-07-16 03:29:20 +02:00
parent 3fe1169fe3
commit 1fa65c593c
1 changed files with 6 additions and 0 deletions

View File

@ -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;