Improve key free functions.

git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@386 7dcaeef0-15fb-0310-b436-a5af3365683c
This commit is contained in:
Andreas Schneider
2009-04-04 13:55:32 +00:00
parent 1100a22e98
commit b3a0c6d9cb

View File

@@ -153,8 +153,10 @@ PUBLIC_KEY *publickey_make_rsa(SSH_SESSION *session, BUFFER *buffer, char *type)
}
void publickey_free(PUBLIC_KEY *key) {
if(!key)
if (key == NULL) {
return;
}
switch(key->type) {
case TYPE_DSS:
#ifdef HAVE_LIBGCRYPT
@@ -174,7 +176,7 @@ void publickey_free(PUBLIC_KEY *key){
default:
break;
}
free(key);
SAFE_FREE(key);
}
PUBLIC_KEY *publickey_from_string(SSH_SESSION *session, STRING *pubkey_s){
@@ -614,8 +616,10 @@ SIGNATURE *signature_from_string(SSH_SESSION *session, STRING *signature,PUBLIC_
}
void signature_free(SIGNATURE *sign) {
if(!sign)
if (sign == NULL) {
return;
}
switch(sign->type) {
case TYPE_DSS:
#ifdef HAVE_LIBGCRYPT
@@ -629,13 +633,13 @@ void signature_free(SIGNATURE *sign){
#ifdef HAVE_LIBGCRYPT
gcry_sexp_release(sign->rsa_sign);
#elif defined HAVE_LIBCRYPTO
free(sign->rsa_sign);
SAFE_FREE(sign->rsa_sign);
#endif
break;
default:
ssh_log(NULL,SSH_LOG_RARE,"freeing a signature with no type !\n");
ssh_log(NULL, SSH_LOG_RARE, "Freeing a signature with no type!\n");
}
free(sign);
SAFE_FREE(sign);
}
#ifdef HAVE_LIBCRYPTO