src/core/ngx_crypt.c:243: error: Buffer Overrun L3
  Offset: [2, +oo] (⇐ [0, +oo] + 2) Size: [0, +oo] by call to `ngx_encode_base64`.

src/core/ngx_crypt.c:213:11: Assignment
211.     encoded.len = ngx_strlen(encoded.data);
212. 
213.     len = ngx_max(ngx_base64_decoded_length(encoded.len), 20);
               ^
214. 
215.     decoded.data = ngx_pnalloc(pool, len);

src/core/ngx_crypt.c:213:5: Assignment
211.     encoded.len = ngx_strlen(encoded.data);
212. 
213.     len = ngx_max(ngx_base64_decoded_length(encoded.len), 20);
         ^
214. 
215.     decoded.data = ngx_pnalloc(pool, len);

src/core/ngx_crypt.c:215:20: Call
213.     len = ngx_max(ngx_base64_decoded_length(encoded.len), 20);
214. 
215.     decoded.data = ngx_pnalloc(pool, len);
                        ^
216.     if (decoded.data == NULL) {
217.         return NGX_ERROR;

src/core/ngx_palloc.c:160:13: Assignment
  158. 
  159.         do {
  160.             m = p->d.last;
                   ^
  161. 
  162.             if ((size_t) (p->d.end - m) >= size) {

src/core/ngx_palloc.c:165:17: Assignment
  163.                 p->d.last = m + size;
  164. 
  165.                 return m;
                       ^
  166.             }
  167. 

src/core/ngx_crypt.c:215:5: Assignment
213.     len = ngx_max(ngx_base64_decoded_length(encoded.len), 20);
214. 
215.     decoded.data = ngx_pnalloc(pool, len);
         ^
216.     if (decoded.data == NULL) {
217.         return NGX_ERROR;

src/core/ngx_crypt.c:243:5: Call
241. 
242.     encoded.data = ngx_cpymem(*encrypted, "{SSHA}", sizeof("{SSHA}") - 1);
243.     ngx_encode_base64(&encoded, &decoded);
         ^
244.     encoded.data[encoded.len] = '\0';
245. 

src/core/ngx_string.c:1102:1: Parameter `*src->data`
  1100. 
  1101. 
  1102. void
        ^
  1103. ngx_encode_base64(ngx_str_t *dst, ngx_str_t *src)
  1104. {

src/core/ngx_string.c:1108:5: Call
  1106.             "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  1107. 
  1108.     ngx_encode_base64_internal(dst, src, basis64, 1);
            ^
  1109. }
  1110. 

src/core/ngx_string.c:1122:1: <Length trace>
1120. 
1121. 
1122. static void
      ^
1123. ngx_encode_base64_internal(ngx_str_t *dst, ngx_str_t *src, const u_char *basis,
1124.     ngx_uint_t padding)

src/core/ngx_string.c:1122:1: Parameter `*src->data`
    1120. 
    1121. 
    1122. static void
          ^
    1123. ngx_encode_base64_internal(ngx_str_t *dst, ngx_str_t *src, const u_char *basis,
    1124.     ngx_uint_t padding)

src/core/ngx_string.c:1130:5: Assignment
    1128. 
    1129.     len = src->len;
    1130.     s = src->data;
              ^
    1131.     d = dst->data;
    1132. 

src/core/ngx_string.c:1136:46: Array access: Offset: [2, +oo] (⇐ [0, +oo] + 2) Size: [0, +oo] by call to `ngx_encode_base64` 
    1134.         *d++ = basis[(s[0] >> 2) & 0x3f];
    1135.         *d++ = basis[((s[0] & 3) << 4) | (s[1] >> 4)];
    1136.         *d++ = basis[((s[1] & 0x0f) << 2) | (s[2] >> 6)];
                                                       ^
    1137.         *d++ = basis[s[2] & 0x3f];
    1138. 
