aboutsummaryrefslogtreecommitdiff
path: root/src/pki_mbedcrypto.c
diff options
context:
space:
mode:
authorJon Simons <jon@jonsimons.org>2019-01-29 16:16:29 -0500
committerAndreas Schneider <asn@cryptomilk.org>2019-01-30 13:22:59 +0100
commitccd73db90c9ff1c9e945939e78d735f97e525dae (patch)
tree7a0bfe271e87e593f23f41971f1867313da5db7c /src/pki_mbedcrypto.c
parent3760e59c13c2eb0691249616d6b8e9a076b6690c (diff)
downloadlibssh-ccd73db90c9ff1c9e945939e78d735f97e525dae.tar.gz
libssh-ccd73db90c9ff1c9e945939e78d735f97e525dae.tar.xz
libssh-ccd73db90c9ff1c9e945939e78d735f97e525dae.zip
pki: NULL check pki_signature_from_rsa_blob result
Check for a potential NULL result from `pki_signature_from_rsa_blob` in `pki_signature_from_blob`. Otherwise the following `sig->type_c` will result in a segfault. Introduced in 7f83a1efae6a7da19e18268d6298fc11b4e68c57. Signed-off-by: Jon Simons <jon@jonsimons.org> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/pki_mbedcrypto.c')
-rw-r--r--src/pki_mbedcrypto.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pki_mbedcrypto.c b/src/pki_mbedcrypto.c
index ccce014c..57a4ffae 100644
--- a/src/pki_mbedcrypto.c
+++ b/src/pki_mbedcrypto.c
@@ -917,6 +917,9 @@ ssh_signature pki_signature_from_blob(const ssh_key pubkey,
switch(type) {
case SSH_KEYTYPE_RSA:
sig = pki_signature_from_rsa_blob(pubkey, sig_blob, sig);
+ if (sig == NULL) {
+ return NULL;
+ }
sig->type_c = ssh_key_signature_to_char(type, hash_type);
break;
case SSH_KEYTYPE_ECDSA: {