From f208e4b332e29871758524a370a97de4882549bc Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 12 Feb 2020 09:44:17 +0100 Subject: pki: Add missing return check for ssh_buffer_pack() CID #1419376 Signed-off-by: Andreas Schneider Reviewed-by: Jakub Jelen --- src/pki.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/pki.c b/src/pki.c index a386b1f6..f3ad4a98 100644 --- a/src/pki.c +++ b/src/pki.c @@ -2468,10 +2468,16 @@ int ssh_pki_signature_verify(ssh_session session, return SSH_ERROR; } - ssh_buffer_pack(sk_buffer, "PbdP", - SHA256_DIGEST_LEN, application_hash, - sig->sk_flags, sig->sk_counter, - SHA256_DIGEST_LEN, input_hash); + rc = ssh_buffer_pack(sk_buffer, "PbdP", + SHA256_DIGEST_LEN, application_hash, + sig->sk_flags, sig->sk_counter, + SHA256_DIGEST_LEN, input_hash); + if (rc != SSH_OK) { + SSH_BUFFER_FREE(sk_buffer); + explicit_bzero(input_hash, SHA256_DIGEST_LEN); + explicit_bzero(application_hash, SHA256_DIGEST_LEN); + return SSH_ERROR; + } rc = pki_verify_data_signature(sig, key, ssh_buffer_get(sk_buffer), ssh_buffer_get_len(sk_buffer)); -- cgit v1.2.3