tags 337116 patch
thanks
It's simple...
gen_rand_pass() is being asked to make a 10 character string plus a null
terminator, and is being asked to stuff it in a 10 character array. In
doing so, it corrupts the top value on the stack, which is usually the
previous stack frame pointer. Hence, when this function returns, all the
auto variables in main() are garbage.
--- apg.c~ 2006-05-08 16:19:16.302543900 +0100
+++ apg.c 2006-05-08 16:19:37.919548274 +0100
@@ -662,7 +662,7 @@
*/
char * crypt_passstring (const char *p)
{
- char salt[10];
+ char salt[11];
gen_rand_pass (salt, 10, 10, S_SL|S_CL|S_NB);
return (crypt(p, salt));
}
--
Paul Martin <[EMAIL PROTECTED]>
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]