summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2021-05-25 15:17:36 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2021-05-25 15:17:36 +0300
commit7199ebc203f74fd9e44595474de6bdc41740c5cf (patch)
tree71cd5b5ce135d0933f665aebb7b0a9e3ec1437a5
parent473ef4f869e9e2c0bd42f66d6c0ba252f50dfe3c (diff)
downloadnginx-7199ebc203f74fd9e44595474de6bdc41740c5cf.tar.gz
Resolver: fixed off-by-one write in ngx_resolver_copy().
Reported by Luis Merino, Markus Vervier, Eric Sesterhenn, X41 D-Sec GmbH.
-rw-r--r--src/core/ngx_resolver.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
index 793907010..63b26193d 100644
--- a/src/core/ngx_resolver.c
+++ b/src/core/ngx_resolver.c
@@ -4008,15 +4008,15 @@ done:
n = *src++;
} else {
+ if (dst != name->data) {
+ *dst++ = '.';
+ }
+
ngx_strlow(dst, src, n);
dst += n;
src += n;
n = *src++;
-
- if (n != 0) {
- *dst++ = '.';
- }
}
if (n == 0) {