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:140:16: Call
  138. #if !(NGX_DEBUG_PALLOC)
  139.     if (size <= pool->max) {
  140.         return ngx_palloc_small(pool, size, 0);
                      ^
  141.     }
  142. #endif

src/core/ngx_palloc.c:157:9: Assignment
    155. 
    156.     do {
    157.         m = p->d.last;
                 ^
    158. 
    159.         if (align) {

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

src/core/ngx_palloc.c:140:9: Assignment
  138. #if !(NGX_DEBUG_PALLOC)
  139.     if (size <= pool->max) {
  140.         return ngx_palloc_small(pool, size, 0);
               ^
  141.     }
  142. #endif

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:1121:1: Parameter `*src->data`
  1119. 
  1120. 
  1121. void
        ^
  1122. ngx_encode_base64(ngx_str_t *dst, ngx_str_t *src)
  1123. {

src/core/ngx_string.c:1127:5: Call
  1125.             "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  1126. 
  1127.     ngx_encode_base64_internal(dst, src, basis64, 1);
            ^
  1128. }
  1129. 

src/core/ngx_string.c:1141:1: <Length trace>
1139. 
1140. 
1141. static void
      ^
1142. ngx_encode_base64_internal(ngx_str_t *dst, ngx_str_t *src, const u_char *basis,
1143.     ngx_uint_t padding)

src/core/ngx_string.c:1141:1: Parameter `*src->data`
    1139. 
    1140. 
    1141. static void
          ^
    1142. ngx_encode_base64_internal(ngx_str_t *dst, ngx_str_t *src, const u_char *basis,
    1143.     ngx_uint_t padding)

src/core/ngx_string.c:1149:5: Assignment
    1147. 
    1148.     len = src->len;
    1149.     s = src->data;
              ^
    1150.     d = dst->data;
    1151. 

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