crypto/cms/cms_pwri.c:263: error: INTEGER_OVERFLOW_L2
  (0 - [-oo, 32]):unsigned64 by call to `EVP_EncryptUpdate`.
Showing all 6 steps of the trace


crypto/cms/cms_pwri.c:263:14: Call
261.               return 0;
262.           /* Encrypt twice */
263.           if (!EVP_EncryptUpdate(ctx, out, &dummy, out, olen)
                    ^
264.               || !EVP_EncryptUpdate(ctx, out, &dummy, out, olen))
265.               return 0;

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

crypto/evp/evp_enc.c:341:17: Call
  339.               inl -= j;
  340.               in += j;
  341.               if (is_partially_overlapping(out, in, bl))
                         ^
  342.                   return 0;
  343.               if (!ctx->cipher->do_cipher(ctx, out, ctx->buf, bl))

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

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

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