apps/passwd.c:280: error: BUFFER_OVERRUN_L3
  Offset: 16 Size: [3, 17] by call to `do_passwd`.
Showing all 5 steps of the trace


apps/passwd.c:101:5: Assignment
99.   {
100.       BIO *in = NULL;
101.       char *infile = NULL, *salt = NULL, *passwd = NULL, **passwds = NULL;
           ^
102.       char *salt_malloc = NULL, *passwd_malloc = NULL, *prog;
103.       OPTION_CHOICE o;

apps/passwd.c:280:18: Call
278.           do {                    /* loop over list of passwords */
279.               passwd = *passwds++;
280.               if (!do_passwd(passed_salt, &salt, &salt_malloc, passwd, bio_out,
                        ^
281.                              quiet, table, reverse, pw_maxlen, mode))
282.                   goto end;

apps/passwd.c:744:1: <Length trace>
742.   # endif
743.   
744. > static int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,
745.                        char *passwd, BIO *out, int quiet, int table,
746.                        int reverse, size_t pw_maxlen, passwd_modes mode)

apps/passwd.c:744:1: Parameter `**salt_p`
  742.   # endif
  743.   
  744. > static int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,
  745.                        char *passwd, BIO *out, int quiet, int table,
  746.                        int reverse, size_t pw_maxlen, passwd_modes mode)

apps/passwd.c:797:13: Array access: Offset: 16 Size: [3, 17] by call to `do_passwd` 
  795.               for (i = 0; i < 16; i++)
  796.                   (*salt_p)[i] = cov_2char[(*salt_p)[i] & 0x3f]; /* 6 bits */
  797.               (*salt_p)[16] = 0;
                     ^
  798.           }
  799.   # endif                         /* !NO_SHACRYPT */
