fix for pinpad with reseting code

This commit is contained in:
NIIBE Yutaka
2011-02-04 16:43:14 +09:00
parent 98048620ec
commit 103484c44a
2 changed files with 16 additions and 6 deletions

View File

@@ -1,3 +1,8 @@
2011-02-04 NIIBE Yutaka <gniibe@fsij.org>
* src/openpgp.c (cmd_reset_user_password): Fix PINPAD_SUPPORT case
with reset code.
2011-02-01 NIIBE Yutaka <gniibe@fsij.org> 2011-02-01 NIIBE Yutaka <gniibe@fsij.org>
* Version 0.9. * Version 0.9.

View File

@@ -408,17 +408,22 @@ cmd_reset_user_password (void)
if (cmd_APDU_size == 4) if (cmd_APDU_size == 4)
/* Modification with pinpad */ /* Modification with pinpad */
{ {
pw_len = get_pinpad_input (PIN_INPUT_CURRENT); if (p1 == 0x00) /* by User with Reseting Code */
if (pw_len < 0)
{ {
GPG_ERROR (); pw_len = get_pinpad_input (PIN_INPUT_CURRENT);
return; if (pw_len < 0)
{
GPG_ERROR ();
return;
}
memcpy (&cmd_APDU[5], pin_input_buffer, pw_len);
} }
else
pw_len = 0;
pw = &cmd_APDU[5]; pw = &cmd_APDU[5];
memcpy (&cmd_APDU[5], pin_input_buffer, pw_len);
newpw = pw + pw_len; newpw = pw + pw_len;
newpw_len = get_pinpad_input (PIN_INPUT_NEW); newpw_len = get_pinpad_input (PIN_INPUT_NEW);
if (newpw_len < 0) if (newpw_len < 0)
{ {