diff options
author | Werner Koch <[email protected]> | 2002-02-07 18:43:22 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2002-02-07 18:43:22 +0000 |
commit | 2a28f5d0aece3300dea950b6f9bed9dbc1f01fa7 (patch) | |
tree | 5ca0c73c6b9289476447ed726b0bd8b1ec6b355c /sm/call-agent.c | |
parent | * decrypt.c (gpgsm_decrypt): Bail out after an decryption error. (diff) | |
download | gnupg-2a28f5d0aece3300dea950b6f9bed9dbc1f01fa7.tar.gz gnupg-2a28f5d0aece3300dea950b6f9bed9dbc1f01fa7.zip |
* certlist.c (gpgsm_add_to_certlist): Check that the specified
name identifies a certificate unambiguously.
(gpgsm_find_cert): Ditto.
* server.c (cmd_listkeys): Check that the data stream is available.
(cmd_listsecretkeys): Ditto.
(has_option): New.
(cmd_sign): Fix ambiguousity in option recognition.
* gpgsm.c (main): Enable --logger-fd.
* encrypt.c (gpgsm_encrypt): Increased buffer size for better
performance.
* call-agent.c (gpgsm_agent_pksign): Check the S-Exp received from
the agent.
* keylist.c (list_cert_colon): Filter out control characters.
Diffstat (limited to 'sm/call-agent.c')
-rw-r--r-- | sm/call-agent.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sm/call-agent.c b/sm/call-agent.c index ec294f6d6..4d7ffbcba 100644 --- a/sm/call-agent.c +++ b/sm/call-agent.c @@ -273,7 +273,11 @@ gpgsm_agent_pksign (const char *keygrip, } *r_buf = get_membuf (&data, r_buflen); - /* FIXME: check that the returned S-Exp is valid! */ + if (!gcry_sexp_canon_len (*r_buf, *r_buflen, NULL, NULL)) + { + xfree (*r_buf); *r_buf = NULL; + return GNUPG_Invalid_Value; + } return *r_buf? 0 : GNUPG_Out_Of_Core; } |