Bug fix for flash ROM garbage collection

This commit is contained in:
NIIBE Yutaka
2013-10-10 13:46:18 +09:00
parent e0d7045239
commit e73ebbe33f
3 changed files with 37 additions and 18 deletions

View File

@@ -355,7 +355,6 @@ cmd_change_password (void)
{
newpw_len = strlen (OPENPGP_CARD_INITIAL_PW3);
memcpy (newpw, OPENPGP_CARD_INITIAL_PW3, newpw_len);
gpg_do_write_simple (NR_DO_KEYSTRING_PW3, NULL, 0);
newsalt_len = 0;
pw3_null = 1;
}
@@ -405,15 +404,20 @@ cmd_change_password (void)
}
else if (r > 0 && who == BY_ADMIN)
{
if (!pw3_null)
if (pw3_null)
gpg_do_write_simple (NR_DO_KEYSTRING_PW3, NULL, 0);
else
gpg_do_write_simple (NR_DO_KEYSTRING_PW3, new_ks0, KS_META_SIZE);
ac_reset_admin ();
DEBUG_INFO ("Changed length of DO_KEYSTRING_PW3.\r\n");
GPG_SUCCESS ();
}
else /* r == 0 && who == BY_ADMIN */ /* no prvkey */
{
if (!pw3_null)
if (pw3_null)
gpg_do_write_simple (NR_DO_KEYSTRING_PW3, NULL, 0);
else
{
new_ks0[0] |= PW_LEN_KEYSTRING_BIT;
gpg_do_write_simple (NR_DO_KEYSTRING_PW3, new_ks0, KEYSTRING_SIZE);