diff options
Diffstat (limited to 'agent/divert-scd.c')
-rw-r--r-- | agent/divert-scd.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/agent/divert-scd.c b/agent/divert-scd.c index f0d847389..ceef588fb 100644 --- a/agent/divert-scd.c +++ b/agent/divert-scd.c @@ -383,12 +383,13 @@ divert_pksign (ctrl_t ctrl, /* Decrypt the the value given asn an S-expression in CIPHER using the key identified by SHADOW_INFO and return the plaintext in an - allocated buffer in R_BUF. */ + allocated buffer in R_BUF. The padding information is stored at + R_PADDING with -1 for not known. */ int divert_pkdecrypt (ctrl_t ctrl, const unsigned char *cipher, const unsigned char *shadow_info, - char **r_buf, size_t *r_len) + char **r_buf, size_t *r_len, int *r_padding) { int rc; char *kid; @@ -399,6 +400,8 @@ divert_pkdecrypt (ctrl_t ctrl, char *plaintext; size_t plaintextlen; + *r_padding = -1; + s = cipher; if (*s != '(') return gpg_error (GPG_ERR_INV_SEXP); @@ -436,7 +439,7 @@ divert_pkdecrypt (ctrl_t ctrl, rc = agent_card_pkdecrypt (ctrl, kid, getpin_cb, ctrl, ciphertext, ciphertextlen, - &plaintext, &plaintextlen); + &plaintext, &plaintextlen, r_padding); if (!rc) { *r_buf = plaintext; |