crypto/evp/e_chacha20_poly1305.c:188: error: BUFFER_OVERRUN_L2
  Offset: [3, 18] (⇐ [0, 15] + 3) Size: 16 by call to `chacha_init_key`.
Showing all 5 steps of the trace


crypto/evp/e_chacha20_poly1305.c:165:1: Array declaration
163.   #  define POLY1305_ctx(actx)    ((POLY1305 *)(actx + 1))
164.   
165. > static int chacha20_poly1305_init_key(EVP_CIPHER_CTX *ctx,
166.                                         const unsigned char *inkey,
167.                                         const unsigned char *iv, int enc)

crypto/evp/e_chacha20_poly1305.c:188:9: Call
186.                      actx->nonce_len);
187.   
188.           chacha_init_key(ctx, inkey, temp, enc);
               ^
189.   
190.           actx->nonce[0] = actx->key.counter[1];

crypto/evp/e_chacha20_poly1305.c:35:1: <Length trace>
33.   #define CHACHA20_POLY1305_MAX_IVLEN     12
34.   
35. > static int chacha_init_key(EVP_CIPHER_CTX *ctx,
36.                              const unsigned char user_key[CHACHA_KEY_SIZE],
37.                              const unsigned char iv[CHACHA_CTR_SIZE], int enc)

crypto/evp/e_chacha20_poly1305.c:35:1: Parameter `*iv`
  33.   #define CHACHA20_POLY1305_MAX_IVLEN     12
  34.   
  35. > static int chacha_init_key(EVP_CIPHER_CTX *ctx,
  36.                              const unsigned char user_key[CHACHA_KEY_SIZE],
  37.                              const unsigned char iv[CHACHA_CTR_SIZE], int enc)

crypto/evp/e_chacha20_poly1305.c:49:33: Array access: Offset: [3, 18] (⇐ [0, 15] + 3) Size: 16 by call to `chacha_init_key` 
  47.       if (iv)
  48.           for (i = 0; i < CHACHA_CTR_SIZE; i+=4) {
  49.               key->counter[i/4] = CHACHA_U8TOU32(iv+i);
                                        ^
  50.           }
  51.   
