crypto/evp/e_chacha20_poly1305.c:184: 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:162:1: Array declaration
160.   #  define POLY1305_ctx(actx)    ((POLY1305 *)(actx + 1))
161.   
162. > static int chacha20_poly1305_init_key(EVP_CIPHER_CTX *ctx,
163.                                         const unsigned char *inkey,
164.                                         const unsigned char *iv, int enc)

crypto/evp/e_chacha20_poly1305.c:184:9: Call
182.               memcpy(temp + CHACHA_CTR_SIZE - actx->nonce_len, iv, actx->nonce_len);
183.   
184.           chacha_init_key(ctx, inkey, temp, enc);
               ^
185.   
186.           actx->nonce[0] = actx->key.counter[1];

crypto/evp/e_chacha20_poly1305.c:33:1: <Length trace>
31.   #define data(ctx)   ((EVP_CHACHA_KEY *)(ctx)->cipher_data)
32.   
33. > static int chacha_init_key(EVP_CIPHER_CTX *ctx,
34.                              const unsigned char user_key[CHACHA_KEY_SIZE],
35.                              const unsigned char iv[CHACHA_CTR_SIZE], int enc)

crypto/evp/e_chacha20_poly1305.c:33:1: Parameter `*iv`
  31.   #define data(ctx)   ((EVP_CHACHA_KEY *)(ctx)->cipher_data)
  32.   
  33. > static int chacha_init_key(EVP_CIPHER_CTX *ctx,
  34.                              const unsigned char user_key[CHACHA_KEY_SIZE],
  35.                              const unsigned char iv[CHACHA_CTR_SIZE], int enc)

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