| |
@@ -0,0 +1,34 @@
|
| |
+ From 9f1dcb0c0473641730b871dee984016ff19d2c53 Mon Sep 17 00:00:00 2001
|
| |
+ From: Maxim Dounin <mdounin@mdounin.ru>
|
| |
+ Date: Tue, 25 May 2021 15:17:36 +0300
|
| |
+ Subject: [PATCH] Resolver: fixed off-by-one write in ngx_resolver_copy().
|
| |
+
|
| |
+ Reported by Luis Merino, Markus Vervier, Eric Sesterhenn, X41 D-Sec GmbH.
|
| |
+ ---
|
| |
+ src/core/ngx_resolver.c | 8 ++++----
|
| |
+ 1 file changed, 4 insertions(+), 4 deletions(-)
|
| |
+
|
| |
+ diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
|
| |
+ index 7939070102..63b26193df 100644
|
| |
+ --- a/src/core/ngx_resolver.c
|
| |
+ +++ b/src/core/ngx_resolver.c
|
| |
+ @@ -4008,15 +4008,15 @@ ngx_resolver_copy(ngx_resolver_t *r, ngx_str_t *name, u_char *buf, u_char *src,
|
| |
+ 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) {
|
| |
Signed-off-by: Igor Raits igor.raits@gooddata.com