crypto/evp/e_chacha20_poly1305.c:274: error: INTEGER_OVERFLOW_L2
  ([-15, +oo] - [-15, 15]):unsigned64 by call to `Poly1305_Update`.
Showing all 8 steps of the trace


crypto/evp/e_chacha20_poly1305.c:233:1: Parameter `len`
231.   }
232.   
233. > static int chacha20_poly1305_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
234.                                       const unsigned char *in, size_t len)
235.   {

crypto/evp/e_chacha20_poly1305.c:274:17: Call
272.               if (ctx->encrypt) {                 /* plaintext */
273.                   chacha_cipher(ctx, out, in, plen);
274.                   Poly1305_Update(POLY1305_ctx(actx), out, plen);
                       ^
275.                   in += plen;
276.                   out += plen;

crypto/poly1305/poly1305.c:466:1: <LHS trace>
464.   #endif
465.   
466. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
467.   {
468.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:466:1: Parameter `len`
  464.   #endif
  465.   
  466. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
  467.   {
  468.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:466:1: <RHS trace>
464.   #endif
465.   
466. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
467.   {
468.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:466:1: Parameter `len`
  464.   #endif
  465.   
  466. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
  467.   {
  468.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:494:5: Assignment
  492.       }
  493.   
  494.       rem = len % POLY1305_BLOCK_SIZE;
             ^
  495.       len -= rem;
  496.   

crypto/poly1305/poly1305.c:495:5: Binary operation: ([-15, +oo] - [-15, 15]):unsigned64 by call to `Poly1305_Update` 
  493.   
  494.       rem = len % POLY1305_BLOCK_SIZE;
  495.       len -= rem;
             ^
  496.   
  497.       if (len >= POLY1305_BLOCK_SIZE) {
