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


apps/passwd.c:345:18: <Offset trace>
343.   
344.   		/* silly output permutation */
345.   		for (dest = 0, source = 0; dest < 14; dest++, source = (source + 6) % 17)
                        ^
346.   			buf_perm[dest] = buf[source];
347.   		buf_perm[14] = buf[5];

apps/passwd.c:345:18: Assignment
343.   
344.   		/* silly output permutation */
345.   		for (dest = 0, source = 0; dest < 14; dest++, source = (source + 6) % 17)
                        ^
346.   			buf_perm[dest] = buf[source];
347.   		buf_perm[14] = buf[5];

apps/passwd.c:278:1: <Length trace>
276.    * (should probably be available as a library function;
277.    * then the static buffer would not be acceptable) */
278. > static char *apr1_crypt(const char *passwd, const char *salt)
279.   	{
280.   	static char out_buf[6 + 9 + 24 + 2]; /* "$apr1$..salt..$.......md5hash..........\0" */

apps/passwd.c:278:1: Array declaration
276.    * (should probably be available as a library function;
277.    * then the static buffer would not be acceptable) */
278. > static char *apr1_crypt(const char *passwd, const char *salt)
279.   	{
280.   	static char out_buf[6 + 9 + 24 + 2]; /* "$apr1$..salt..$.......md5hash..........\0" */

apps/passwd.c:346:21: Array access: Offset: [0, 16] Size: 16
344.   		/* silly output permutation */
345.   		for (dest = 0, source = 0; dest < 14; dest++, source = (source + 6) % 17)
346.   			buf_perm[dest] = buf[source];
                           ^
347.   		buf_perm[14] = buf[5];
348.   		buf_perm[15] = buf[11];
