apps/passwd.c:469: error: BUFFER_OVERRUN_L2
  Offset: [15, 17] Size: 16.
Showing all 5 steps of the trace


apps/passwd.c:460:14: <Offset trace>
458.           *output++ = ascii_dollar[0];
459.   
460.           for (i = 0; i < 15; i += 3) {
                    ^
461.               *output++ = cov_2char[buf_perm[i + 2] & 0x3f];
462.               *output++ = cov_2char[((buf_perm[i + 1] & 0xf) << 2) |

apps/passwd.c:460:14: Assignment
458.           *output++ = ascii_dollar[0];
459.   
460.           for (i = 0; i < 15; i += 3) {
                    ^
461.               *output++ = cov_2char[buf_perm[i + 2] & 0x3f];
462.               *output++ = cov_2char[((buf_perm[i + 1] & 0xf) << 2) |

apps/passwd.c:310:1: <Length trace>
308.    * application of the NIH principle I've ever encountered.)
309.    */
310. > static char *md5crypt(const char *passwd, const char *magic, const char *salt)
311.   {
312.       /* "$apr1$..salt..$.......md5hash..........\0" */

apps/passwd.c:310:1: Array declaration
308.    * application of the NIH principle I've ever encountered.)
309.    */
310. > static char *md5crypt(const char *passwd, const char *magic, const char *salt)
311.   {
312.       /* "$apr1$..salt..$.......md5hash..........\0" */

apps/passwd.c:469:31: Array access: Offset: [15, 17] Size: 16
467.           }
468.           assert(i == 15);
469.           *output++ = cov_2char[buf_perm[i] & 0x3f];
                                     ^
470.           *output++ = cov_2char[buf_perm[i] >> 6];
471.           *output = 0;
