crypto/evp/e_chacha20_poly1305.c:342: error: BUFFER_OVERRUN_L2
  Offset: [1, 57] Size: 16 by call to `Poly1305_Final`.
Showing all 12 steps of the trace


crypto/evp/e_chacha20_poly1305.c:255:9: Call
253.           ChaCha20_ctr32(buf, zero, (buf_len = 2 * CHACHA_BLK_SIZE),
254.                          actx->key.key.d, actx->key.counter);
255.           Poly1305_Init(POLY1305_ctx(actx), buf);
               ^
256.           actx->key.partial_len = 0;
257.           memcpy(tohash, actx->tls_aad, POLY1305_BLOCK_SIZE);

crypto/poly1305/poly1305.c:457:5: Assignment
  455.   #endif
  456.   
  457.       ctx->num = 0;
             ^
  458.   
  459.   }

crypto/evp/e_chacha20_poly1305.c:340:5: Call
338.       }
339.   
340.       Poly1305_Update(POLY1305_ctx(actx), tohash, tohash_len);
           ^
341.       OPENSSL_cleanse(buf, buf_len);
342.       Poly1305_Final(POLY1305_ctx(actx), ctx->encrypt ? actx->tag

crypto/poly1305/poly1305.c:470:1: Parameter `len`
  468.   #endif
  469.   
  470. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
  471.   {
  472.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:493:13: Assignment
  491.               /* Still not enough data to process a block. */
  492.               memcpy(ctx->data + num, inp, len);
  493.               ctx->num = num + len;
                     ^
  494.               return;
  495.           }

crypto/evp/e_chacha20_poly1305.c:342:5: Call
340.       Poly1305_Update(POLY1305_ctx(actx), tohash, tohash_len);
341.       OPENSSL_cleanse(buf, buf_len);
342.       Poly1305_Final(POLY1305_ctx(actx), ctx->encrypt ? actx->tag
           ^
343.                                                       : tohash);
344.   

crypto/poly1305/poly1305.c:512:1: <Offset trace>
510.   }
511.   
512. > void Poly1305_Final(POLY1305 *ctx, unsigned char mac[16])
513.   {
514.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:512:1: Parameter `ctx->num`
  510.   }
  511.   
  512. > void Poly1305_Final(POLY1305 *ctx, unsigned char mac[16])
  513.   {
  514.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:520:10: Assignment
  518.       size_t num;
  519.   
  520.       if ((num = ctx->num)) {
                  ^
  521.           ctx->data[num++] = 1;   /* pad bit */
  522.           while (num < POLY1305_BLOCK_SIZE)

crypto/poly1305/poly1305.c:512:1: <Length trace>
510.   }
511.   
512. > void Poly1305_Final(POLY1305 *ctx, unsigned char mac[16])
513.   {
514.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:512:1: Parameter `ctx->data[*]`
  510.   }
  511.   
  512. > void Poly1305_Final(POLY1305 *ctx, unsigned char mac[16])
  513.   {
  514.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:521:9: Array access: Offset: [1, 57] Size: 16 by call to `Poly1305_Final` 
  519.   
  520.       if ((num = ctx->num)) {
  521.           ctx->data[num++] = 1;   /* pad bit */
                 ^
  522.           while (num < POLY1305_BLOCK_SIZE)
  523.               ctx->data[num++] = 0;
