summaryrefslogtreecommitdiffhomepage
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
commit9f1dcb0c0473641730b871dee984016ff19d2c53 (patch)
tree1238d8b9f276604027f1eff2b2e6a917f10bc962
parent41a241b3ef74dbbe3d82ab2ebbe682919e4a0b90 (diff)
downloadnginx-9f1dcb0c0473641730b871dee984016ff19d2c53.tar.gz
nginx-9f1dcb0c0473641730b871dee984016ff19d2c53.tar.bz2
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) {