src/core/ngx_crypt.c:215: error: Buffer Overrun L3
  Offset: [1, +oo] Size: [0, +oo] by call to `ngx_decode_base64`.

src/core/ngx_crypt.c:208:11: Assignment
206.     encoded.len = ngx_strlen(encoded.data);
207. 
208.     len = ngx_max(ngx_base64_decoded_length(encoded.len), 20);
               ^
209. 
210.     decoded.data = ngx_pnalloc(pool, len);

src/core/ngx_crypt.c:208:5: Assignment
206.     encoded.len = ngx_strlen(encoded.data);
207. 
208.     len = ngx_max(ngx_base64_decoded_length(encoded.len), 20);
         ^
209. 
210.     decoded.data = ngx_pnalloc(pool, len);

src/core/ngx_crypt.c:210:20: Call
208.     len = ngx_max(ngx_base64_decoded_length(encoded.len), 20);
209. 
210.     decoded.data = ngx_pnalloc(pool, len);
                        ^
211.     if (decoded.data == NULL) {
212.         return NGX_ERROR;

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

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

src/core/ngx_crypt.c:210:5: Assignment
208.     len = ngx_max(ngx_base64_decoded_length(encoded.len), 20);
209. 
210.     decoded.data = ngx_pnalloc(pool, len);
         ^
211.     if (decoded.data == NULL) {
212.         return NGX_ERROR;

src/core/ngx_crypt.c:215:10: Call
213.     }
214. 
215.     rc = ngx_decode_base64(&decoded, &encoded);
              ^
216. 
217.     if (rc != NGX_OK || decoded.len < 20) {

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

src/core/ngx_string.c:1124:12: Call
  1122.     };
  1123. 
  1124.     return ngx_decode_base64_internal(dst, src, basis64);
                   ^
  1125. }
  1126. 

src/core/ngx_string.c:1155:1: <Length trace>
1153. 
1154. 
1155. static ngx_int_t
      ^
1156. ngx_decode_base64_internal(ngx_str_t *dst, ngx_str_t *src, const u_char *basis)
1157. {

src/core/ngx_string.c:1155:1: Parameter `*dst->data`
    1153. 
    1154. 
    1155. static ngx_int_t
          ^
    1156. ngx_decode_base64_internal(ngx_str_t *dst, ngx_str_t *src, const u_char *basis)
    1157. {

src/core/ngx_string.c:1176:5: Assignment
    1174. 
    1175.     s = src->data;
    1176.     d = dst->data;
              ^
    1177. 
    1178.     while (len > 3) {

src/core/ngx_string.c:1179:10: Assignment
    1177. 
    1178.     while (len > 3) {
    1179.         *d++ = (u_char) (basis[s[0]] << 2 | basis[s[1]] >> 4);
                   ^
    1180.         *d++ = (u_char) (basis[s[1]] << 4 | basis[s[2]] >> 2);
    1181.         *d++ = (u_char) (basis[s[2]] << 6 | basis[s[3]]);

src/core/ngx_string.c:1180:9: Array access: Offset: [1, +oo] Size: [0, +oo] by call to `ngx_decode_base64` 
    1178.     while (len > 3) {
    1179.         *d++ = (u_char) (basis[s[0]] << 2 | basis[s[1]] >> 4);
    1180.         *d++ = (u_char) (basis[s[1]] << 4 | basis[s[2]] >> 2);
                  ^
    1181.         *d++ = (u_char) (basis[s[2]] << 6 | basis[s[3]]);
    1182. 
