crypto/evp/e_chacha20_poly1305.c:295: error: INTEGER_OVERFLOW_L2
  (16 - [1, 28+max(1, `ctx->cipher_data->num`)]):unsigned64 by call to `Poly1305_Update`.
Showing all 6 steps of the trace


crypto/evp/e_chacha20_poly1305.c:233:1: Parameter `ctx->cipher_data->num`
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:295:17: Call
293.           if (actx->aad) {                        /* wrap up aad */
294.               if ((rem = (size_t)actx->len.aad % POLY1305_BLOCK_SIZE))
295.                   Poly1305_Update(POLY1305_ctx(actx), zero,
                       ^
296.                                   POLY1305_BLOCK_SIZE - rem);
297.               actx->aad = 0;

crypto/poly1305/poly1305.c:457:1: <RHS trace>
455.   }
456.   
457. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
458.   {
459.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:457:1: Parameter `ctx->num`
  455.   }
  456.   
  457. > void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t len)
  458.   {
  459.   #ifdef POLY1305_ASM

crypto/poly1305/poly1305.c:470:10: Assignment
  468.       size_t rem, num;
  469.   
  470.       if ((num = ctx->num)) {
                  ^
  471.           rem = POLY1305_BLOCK_SIZE - num;
  472.           if (len >= rem) {

crypto/poly1305/poly1305.c:471:9: Binary operation: (16 - [1, 28+max(1, ctx->cipher_data->num)]):unsigned64 by call to `Poly1305_Update` 
  469.   
  470.       if ((num = ctx->num)) {
  471.           rem = POLY1305_BLOCK_SIZE - num;
                 ^
  472.           if (len >= rem) {
  473.               memcpy(ctx->data + num, inp, rem);
