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


crypto/evp/bio_enc.c:200:17: Assignment
198.               }
199.               if (i > ENC_MIN_CHUNK)
200.                   i = ENC_MIN_CHUNK;
                       ^
201.               if (!EVP_CipherUpdate(ctx->cipher,
202.                                     ctx->buf, &ctx->buf_len,

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 `inl`
  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:209:16: Call
  207.   {
  208.       if (ctx->encrypt)
  209.           return EVP_EncryptUpdate(ctx, out, outl, in, inl);
                        ^
  210.       else
  211.           return EVP_DecryptUpdate(ctx, out, outl, in, inl);

crypto/evp/evp_enc.c:293:1: Parameter `inl`
    291.   }
    292.   
    293. > int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
    294.                         const unsigned char *in, int inl)
    295.   {

crypto/evp/evp_enc.c:302:24: Call
    300.       if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER) {
    301.           /* If block size > 1 then the cipher will have to do this check */
    302.           if (bl == 1 && is_partially_overlapping(out, in, inl)) {
                                  ^
    303.               EVPerr(EVP_F_EVP_ENCRYPTUPDATE, EVP_R_PARTIALLY_OVERLAPPING);
    304.               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 - [1, 256]):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;
