summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ssh-pkcs11-client.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 406d7e20c..3ebe0df30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,11 @@
10 [ssh-ecdsa.c] 10 [ssh-ecdsa.c]
11 Fix memory leak in ssh_ecdsa_verify(); from Loganaden Velvindron, 11 Fix memory leak in ssh_ecdsa_verify(); from Loganaden Velvindron,
12 ok markus@ 12 ok markus@
13 - miod@cvs.openbsd.org 2012/01/16 20:34:09
14 [ssh-pkcs11-client.c]
15 Fix a memory leak in pkcs11_rsa_private_encrypt(), reported by Jan Klemkow.
16 While there, be sure to buffer_clear() between send_msg() and recv_msg().
17 ok markus@
13 18
1420120206 1920120206
15 - (djm) [ssh-keygen.c] Don't fail in do_gen_all_hostkeys on platforms 20 - (djm) [ssh-keygen.c] Don't fail in do_gen_all_hostkeys on platforms
diff --git a/ssh-pkcs11-client.c b/ssh-pkcs11-client.c
index 650c37342..82b11daf5 100644
--- a/ssh-pkcs11-client.c
+++ b/ssh-pkcs11-client.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-pkcs11-client.c,v 1.2 2010/02/24 06:12:53 djm Exp $ */ 1/* $OpenBSD: ssh-pkcs11-client.c,v 1.3 2012/01/16 20:34:09 miod Exp $ */
2/* 2/*
3 * Copyright (c) 2010 Markus Friedl. All rights reserved. 3 * Copyright (c) 2010 Markus Friedl. All rights reserved.
4 * 4 *
@@ -123,6 +123,7 @@ pkcs11_rsa_private_encrypt(int flen, const u_char *from, u_char *to, RSA *rsa,
123 buffer_put_int(&msg, 0); 123 buffer_put_int(&msg, 0);
124 xfree(blob); 124 xfree(blob);
125 send_msg(&msg); 125 send_msg(&msg);
126 buffer_clear(&msg);
126 127
127 if (recv_msg(&msg) == SSH2_AGENT_SIGN_RESPONSE) { 128 if (recv_msg(&msg) == SSH2_AGENT_SIGN_RESPONSE) {
128 signature = buffer_get_string(&msg, &slen); 129 signature = buffer_get_string(&msg, &slen);
@@ -132,6 +133,7 @@ pkcs11_rsa_private_encrypt(int flen, const u_char *from, u_char *to, RSA *rsa,
132 } 133 }
133 xfree(signature); 134 xfree(signature);
134 } 135 }
136 buffer_free(&msg);
135 return (ret); 137 return (ret);
136} 138}
137 139