diff options
author | NIIBE Yutaka <[email protected]> | 2024-04-25 01:48:24 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2024-04-25 04:13:04 +0000 |
commit | 2593dcbcebbe55d7ab43f7ac67af08cedd0ab40c (patch) | |
tree | bc2e7c24814201011354c0a371d384410936be5f /agent/divert-scd.c | |
parent | gpg: New option --require-pqc-encryption (diff) | |
download | gnupg-2593dcbcebbe55d7ab43f7ac67af08cedd0ab40c.tar.gz gnupg-2593dcbcebbe55d7ab43f7ac67af08cedd0ab40c.zip |
agent: Allow NULL for R_PADDING, when calling scd and tpm2d.
* agent/call-scd.c (padding_info_cb): Allow NULL.
(agent_card_pkdecrypt): Likewise.
* agent/divert-scd.c (divert_pkdecrypt): Likewise.
* agent/divert-tpm2.c (divert_tpm2_pkdecrypt): Likewise.
--
It's for RSA PKCD#1 encoding if the decrypt operation removes padding
or not. When caller knows it's not RSA, this information is no use
and it is better to allow NULL with the variable R_PADDING.
Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to 'agent/divert-scd.c')
-rw-r--r-- | agent/divert-scd.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/agent/divert-scd.c b/agent/divert-scd.c index 4a2bebffa..d7454d968 100644 --- a/agent/divert-scd.c +++ b/agent/divert-scd.c @@ -380,7 +380,7 @@ divert_pksign (ctrl_t ctrl, const unsigned char *grip, /* Decrypt the value given as an s-expression in CIPHER using the key identified by SHADOW_INFO and return the plaintext in an allocated buffer in R_BUF. The padding information is stored at - R_PADDING with -1 for not known. */ + R_PADDING with -1 for not known, when it's not NULL. */ int divert_pkdecrypt (ctrl_t ctrl, const unsigned char *grip, @@ -399,7 +399,8 @@ divert_pkdecrypt (ctrl_t ctrl, bin2hex (grip, 20, hexgrip); - *r_padding = -1; + if (r_padding) + *r_padding = -1; s = cipher; if (*s != '(') return gpg_error (GPG_ERR_INV_SEXP); |