aboutsummaryrefslogtreecommitdiff
path: root/src/messages.c
diff options
context:
space:
mode:
authormilo <milo@r0ot.me>2011-08-26 18:17:14 +0200
committermilo <milo@r0ot.me>2011-08-26 18:17:14 +0200
commitf1634d33da5f918d46c9643c9c9a508500138b6b (patch)
treed6f967e50fe9565659b306fb4290d2e03ea1cc49 /src/messages.c
parent4bdd831d7f2eaf6f2ed93ed940ee5d564dcb6e47 (diff)
downloadlibssh-f1634d33da5f918d46c9643c9c9a508500138b6b.tar.gz
libssh-f1634d33da5f918d46c9643c9c9a508500138b6b.tar.xz
libssh-f1634d33da5f918d46c9643c9c9a508500138b6b.zip
Free sig_blob if an error occurs
Diffstat (limited to 'src/messages.c')
-rw-r--r--src/messages.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/messages.c b/src/messages.c
index 79dfe070..cf4dd237 100644
--- a/src/messages.c
+++ b/src/messages.c
@@ -603,6 +603,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){
msg->auth_request.pubkey,
&sig);
if (rc < 0) {
+ ssh_string_free(sig_blob);
ssh_log(session, SSH_LOG_PACKET, "Wrong signature from peer");
msg->auth_request.signature_state = SSH_PUBLICKEY_STATE_WRONG;
goto error;
@@ -610,6 +611,7 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request){
digest = ssh_msg_userauth_build_digest(session, msg, service_c);
if (digest == NULL) {
+ ssh_string_free(sig_blob);
ssh_signature_free(sig);
ssh_log(session, SSH_LOG_PACKET, "Failed to get digest");
msg->auth_request.signature_state = SSH_PUBLICKEY_STATE_WRONG;