only found 1 place we dont zero out desklock pw asap after its not

needed anymore.



SVN revision: 75541
This commit is contained in:
Carsten Haitzler 2012-08-22 11:41:08 +00:00
parent 88aaed9233
commit f88ad21893
1 changed files with 20 additions and 14 deletions

View File

@ -843,24 +843,30 @@ _e_desklock_check_auth(void)
if (!edd) return 0; if (!edd) return 0;
#ifdef HAVE_PAM #ifdef HAVE_PAM
if (e_config->desklock_auth_method == 0) if (e_config->desklock_auth_method == 0)
return _desklock_auth(edd->passwd); {
int ret;
ret = _desklock_auth(edd->passwd);
// passwd off in child proc now - null out from parent
memset(edd->passwd, 0, sizeof(char) * PASSWD_LEN);
}
else if (e_config->desklock_auth_method == 1) else if (e_config->desklock_auth_method == 1)
{ {
#endif #endif
if ((e_config->desklock_personal_passwd) && if ((e_config->desklock_personal_passwd) &&
(!strcmp(!edd->passwd ? "" : edd->passwd, (!strcmp(!edd->passwd ? "" : edd->passwd,
!e_config->desklock_personal_passwd ? "" : !e_config->desklock_personal_passwd ? "" :
e_config->desklock_personal_passwd))) e_config->desklock_personal_passwd)))
{ {
/* password ok */ /* password ok */
/* security - null out passwd string once we are done with it */ /* security - null out passwd string once we are done with it */
memset(edd->passwd, 0, sizeof(char) * PASSWD_LEN); memset(edd->passwd, 0, sizeof(char) * PASSWD_LEN);
e_desklock_hide(); e_desklock_hide();
return 1; return 1;
} }
#ifdef HAVE_PAM #ifdef HAVE_PAM
} }
#endif #endif
/* password is definitely wrong */ /* password is definitely wrong */
_e_desklock_state_set(E_DESKLOCK_STATE_INVALID); _e_desklock_state_set(E_DESKLOCK_STATE_INVALID);