apps/passwd.c:839: error: INTEGER_OVERFLOW_L2
  ([33, +oo] - [32, 64]):unsigned64 by call to `shacrypt`.
Showing all 7 steps of the trace


apps/passwd.c:773:1: Parameter `pw_maxlen`
771.   }
772.   
773. > static int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,
774.                        char *passwd, BIO *out, int quiet, int table,
775.                        int reverse, size_t pw_maxlen, passwd_modes mode)

apps/passwd.c:839:16: Call
837.           hash = md5crypt(passwd, "", *salt_p);
838.       if (mode == passwd_sha256 || mode == passwd_sha512)
839.           hash = shacrypt(passwd, (mode == passwd_sha256 ? "5" : "6"), *salt_p);
                      ^
840.       assert(hash != NULL);
841.   

apps/passwd.c:533:9: <LHS trace>
531.       case '5':
532.           sha = EVP_sha256();
533.           buf_size = 32;
               ^
534.           break;
535.       case '6':

apps/passwd.c:533:9: Assignment
  531.       case '5':
  532.           sha = EVP_sha256();
  533.           buf_size = 32;
                 ^
  534.           break;
  535.       case '6':

apps/passwd.c:533:9: <RHS trace>
531.       case '5':
532.           sha = EVP_sha256();
533.           buf_size = 32;
               ^
534.           break;
535.       case '6':

apps/passwd.c:533:9: Assignment
  531.       case '5':
  532.           sha = EVP_sha256();
  533.           buf_size = 32;
                 ^
  534.           break;
  535.       case '6':

apps/passwd.c:619:40: Binary operation: ([33, +oo] - [32, 64]):unsigned64 by call to `shacrypt` 
  617.           goto err;
  618.   
  619.       for (n = passwd_len; n > buf_size; n -= buf_size) {
                                                ^
  620.           if (!EVP_DigestUpdate(md, buf, buf_size))
  621.               goto err;
