X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=driver%2Fpasswd.c;h=9a9a4b8863b4efe628970853eaa0f4088f3e3d69;hp=b55334c936aad2c53157de05298cfece5c0feeee;hb=cccbddbc4140cf9a06d7d95cc5c0ca36eb5d6e28;hpb=a94197e76a5dea5cb60542840809d6c20d0abbf3 diff --git a/driver/passwd.c b/driver/passwd.c index b55334c9..9a9a4b88 100644 --- a/driver/passwd.c +++ b/driver/passwd.c @@ -1,5 +1,5 @@ /* passwd.c --- verifying typed passwords with the OS. - * xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski + * xscreensaver, Copyright (c) 1993-2002 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -23,6 +23,7 @@ #endif extern char *blurb(void); +extern void check_for_leaks (const char *where); /* blargh */ @@ -132,8 +133,12 @@ passwd_valid_p (const char *typed_passwd, Bool verbose_p) int i, j; for (i = 0; i < countof(methods); i++) { - if (methods[i].initted_p && - methods[i].valid_p (typed_passwd, verbose_p)) + int ok_p = (methods[i].initted_p && + methods[i].valid_p (typed_passwd, verbose_p)); + + check_for_leaks (methods[i].name); + + if (ok_p) { /* If we successfully authenticated by method N, but attempting to authenticate by method N-1 failed, mention that (since if