diff --git a/src/pki_crypto.c b/src/pki_crypto.c index 147b2035..3e53a3cc 100644 --- a/src/pki_crypto.c +++ b/src/pki_crypto.c @@ -523,7 +523,7 @@ static ssh_string _RSA_do_sign(const unsigned char *payload, ssh_string pki_signature_to_blob(const ssh_signature sig) { char buffer[40] = {0}; - ssh_string sig_blob; + ssh_string sig_blob = NULL; ssh_string r; ssh_string s; @@ -560,7 +560,8 @@ ssh_string pki_signature_to_blob(const ssh_signature sig) sig_blob = string_copy(sig->rsa_sig); case SSH_KEYTYPE_ECDSA: case SSH_KEYTYPE_UNKNOWN: - break; + ssh_pki_log("Unknown signature key type: %d", sig->type); + return NULL; } return sig_blob; diff --git a/src/pki_gcrypt.c b/src/pki_gcrypt.c index c7402eeb..1bcfae2c 100644 --- a/src/pki_gcrypt.c +++ b/src/pki_gcrypt.c @@ -1173,7 +1173,7 @@ ssh_string pki_signature_to_blob(const ssh_signature sig) const char *s = NULL; gcry_sexp_t sexp; size_t size = 0; - ssh_string sig_blob; + ssh_string sig_blob = NULL; switch(sig->type) { case SSH_KEYTYPE_DSS: @@ -1224,6 +1224,8 @@ ssh_string pki_signature_to_blob(const ssh_signature sig) break; case SSH_KEYTYPE_ECDSA: case SSH_KEYTYPE_UNKNOWN: + ssh_pki_log("Unknown signature key type: %d", sig->type); + return NULL; break; }