aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cynapses.org>2011-01-06 14:31:54 +0100
committerAndreas Schneider <asn@cynapses.org>2011-01-07 15:48:39 +0100
commit8d7245f54bf9b4d2eadc068de76325a898d2a9bb (patch)
tree0a60babb73dd069becfef04b4bb66221c36cd7ea
parent0b1f8a2b0c407c1bd68ca049b54084f7850a6d47 (diff)
downloadlibssh-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.c6
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