From 85c15e6bff92c2dae609d76f72c1d231d048dd74 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 14 Oct 2021 08:00:38 +0200 Subject: [PATCH] BUG/MINOR: resolvers: do not reject host names of length 255 in SRV records An off-by-one issue in buffer size calculation used to limit the output of resolv_dn_label_to_str() to 254 instead of 255. This must be backported to 2.0. --- src/resolvers.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resolvers.c b/src/resolvers.c index aec66be24..66f032913 100644 --- a/src/resolvers.c +++ b/src/resolvers.c @@ -778,10 +778,10 @@ srv_found: if (!srv->hostname_dn) { const char *msg = NULL; - char hostname[DNS_MAX_NAME_SIZE]; + char hostname[DNS_MAX_NAME_SIZE+1]; if (resolv_dn_label_to_str(item->target, item->data_len+1, - hostname, DNS_MAX_NAME_SIZE) == -1) { + hostname, sizeof(hostname)) == -1) { HA_SPIN_UNLOCK(SERVER_LOCK, &srv->lock); continue; }