Skip to content

Commit

Permalink
Fix conditional error resetting has_pw1 variable
Browse files Browse the repository at this point in the history
According to OpenPGP 3.4.1 specifications subsection 4.4.1:
PW status Bytes
1st byte: 00 = PW1 (no. 81) only valid for one PSO:CDS command
          01 = PW1 valid for several PSO:CDS commands

Therefore has_pw1 should be reset to false when the first byte
of the PW status is 0 instead of 1.
  • Loading branch information
imkuang committed Jul 6, 2024
1 parent 20e7c93 commit 886bee5
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/openpgp/openpgp.c
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ int inc_sig_count() {
if (!(pw_status = search_by_fid(EF_PW_PRIV, NULL, SPECIFY_EF)) || !pw_status->data) {
return SW_REFERENCE_NOT_FOUND();
}
if (file_get_data(pw_status)[0] == 1) {
if (file_get_data(pw_status)[0] == 0) {
has_pw1 = false;
}
file_t *ef = search_by_fid(EF_SIG_COUNT, NULL, SPECIFY_ANY);
Expand Down

0 comments on commit 886bee5

Please sign in to comment.