crypto/evp/bio_enc.c:201: error: INTEGER_OVERFLOW_L2
  (0 - [-oo, 32]):unsigned64 by call to `EVP_CipherUpdate`.
Showing all 9 steps of the trace


crypto/evp/bio_enc.c:201:18: Call
199.               if (i > ENC_MIN_CHUNK)
200.                   i = ENC_MIN_CHUNK;
201.               if (!EVP_CipherUpdate(ctx->cipher,
                        ^
202.                                     ctx->buf, &ctx->buf_len,
203.                                     ctx->read_start, i)) {

crypto/evp/evp_enc.c:205:1: Parameter `ctx->cipher->block_size`
  203.   }
  204.   
  205. > int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
  206.                        const unsigned char *in, int inl)
  207.   {

crypto/evp/evp_enc.c:211:16: Call
  209.           return EVP_EncryptUpdate(ctx, out, outl, in, inl);
  210.       else
  211.           return EVP_DecryptUpdate(ctx, out, outl, in, inl);
                        ^
  212.   }
  213.   

crypto/evp/evp_enc.c:416:1: Parameter `ctx->cipher->block_size`
    414.   }
    415.   
    416. > int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
    417.                         const unsigned char *in, int inl)
    418.   {

crypto/evp/evp_enc.c:422:5: Assignment
    420.       unsigned int b;
    421.   
    422.       b = ctx->cipher->block_size;
               ^
    423.   
    424.       if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER) {

crypto/evp/evp_enc.c:452:16: Call
    450.           /* see comment about PTRDIFF_T comparison above */
    451.           if (((PTRDIFF_T)out == (PTRDIFF_T)in)
    452.               || is_partially_overlapping(out, in, b)) {
                          ^
    453.               EVPerr(EVP_F_EVP_DECRYPTUPDATE, EVP_R_PARTIALLY_OVERLAPPING);
    454.               return 0;

crypto/evp/evp_enc.c:279:1: <RHS trace>
277.   #endif
278.   
279. > int is_partially_overlapping(const void *ptr1, const void *ptr2, int len)
280.   {
281.       PTRDIFF_T diff = (PTRDIFF_T)ptr1-(PTRDIFF_T)ptr2;

crypto/evp/evp_enc.c:279:1: Parameter `len`
      277.   #endif
      278.   
      279. > int is_partially_overlapping(const void *ptr1, const void *ptr2, int len)
      280.   {
      281.       PTRDIFF_T diff = (PTRDIFF_T)ptr1-(PTRDIFF_T)ptr2;

crypto/evp/evp_enc.c:288:50: Binary operation: (0 - [-oo, 32]):unsigned64 by call to `EVP_CipherUpdate` 
      286.        */
      287.       int overlapped = (len > 0) & (diff != 0) & ((diff < (PTRDIFF_T)len) |
      288.                                                   (diff > (0 - (PTRDIFF_T)len)));
                                                              ^
      289.       assert(!overlapped);
      290.       return overlapped;
