diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
index 0d7fd79..9ce53b9 100644
--- a/src/core/ngx_resolver.c
+++ b/src/core/ngx_resolver.c
@@ -3939,11 +3939,11 @@
 {
     char        *err;
     u_char      *p, *dst;
-    ssize_t      len;
+    size_t       len;
     ngx_uint_t   i, n;
 
     p = src;
-    len = -1;
+    len = 0;
 
     /*
      * compression pointers allow to create endless loop, so we set limit;
@@ -3996,7 +3996,7 @@
         return NGX_OK;
     }
 
-    if (len == -1) {
+    if (len == 0) {
         ngx_str_null(name);
         return NGX_OK;
     }
@@ -4012,7 +4012,7 @@
         n = *src++;
 
         if (n == 0) {
-            name->len = dst - name->data;
+            name->len = dst - name->data - 1;
             return NGX_OK;
         }
 
@@ -4021,13 +4021,10 @@
             src = &buf[n];
 
         } else {
-            if (dst != name->data) {
-                *dst++ = '.';
-            }
-
             ngx_strlow(dst, src, n);
             dst += n;
             src += n;
+            *dst++ = '.';
         }
     }
 }
