diff options
author | Andreas Schneider <asn@cynapses.org> | 2011-01-06 14:31:54 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cynapses.org> | 2011-01-07 15:48:39 +0100 |
commit | 8d7245f54bf9b4d2eadc068de76325a898d2a9bb (patch) | |
tree | 0a60babb73dd069becfef04b4bb66221c36cd7ea | |
parent | 0b1f8a2b0c407c1bd68ca049b54084f7850a6d47 (diff) | |
download | libssh-8d7245f54bf9b4d2eadc068de76325a898d2a9bb.tar.gz libssh-8d7245f54bf9b4d2eadc068de76325a898d2a9bb.tar.xz libssh-8d7245f54bf9b4d2eadc068de76325a898d2a9bb.zip |
keys: Fixed memory leaks in session signing.
Found by cppcheck - http://test.libssh.org/cppcheck-analyzer/
-rw-r--r-- | libssh/keys.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libssh/keys.c b/libssh/keys.c index 56f80ebf..e2d043e3 100644 --- a/libssh/keys.c +++ b/libssh/keys.c @@ -1308,6 +1308,9 @@ ssh_string ssh_do_sign(ssh_session session, ssh_buffer sigbuf, #endif sign->dsa_sign = NULL; break; + default: + signature_free(sign); + return NULL; } #ifdef HAVE_LIBGCRYPT gcry_sexp_release(gcryhash); @@ -1463,6 +1466,9 @@ ssh_string ssh_sign_session_id(ssh_session session, ssh_private_key privatekey) #endif sign->dsa_sign = NULL; break; + default: + signature_free(sign); + return NULL; } #ifdef HAVE_LIBGCRYPT |