crypto/evp/e_aes.c:2237: error: INTEGER_OVERFLOW_L1
  (0 - [max(1, `inlen`), `inlen`]):unsigned64 by call to `is_partially_overlapping`.
Showing all 5 steps of the trace


crypto/evp/e_aes.c:2218:1: Parameter `inlen`
2216.   }
2217.   
2218. > static int aes_wrap_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
2219.                              const unsigned char *in, size_t inlen)
2220.   {

crypto/evp/e_aes.c:2237:9: Call
2235.       if (!pad && inlen & 0x7)
2236.           return -1;
2237.       if (is_partially_overlapping(out, in, inlen)) {
                ^
2238.           EVPerr(EVP_F_AES_WRAP_CIPHER, EVP_R_PARTIALLY_OVERLAPPING);
2239.           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 - [max(1, inlen), inlen]):unsigned64 by call to `is_partially_overlapping` 
  286.        */
  287.       int overlapped = (len > 0) & (diff != 0) & ((diff < (PTRDIFF_T)len) |
  288.                                                   (diff > (0 - (PTRDIFF_T)len)));
                                                          ^
  289.       assert(!overlapped);
  290.       return overlapped;
