summaryrefslogtreecommitdiff
path: root/ssh-pkcs11-helper.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2013-12-05 10:23:21 +1100
committerDamien Miller <djm@mindrot.org>2013-12-05 10:23:21 +1100
commitf1e44ea9d9a6d4c1a95a0024132e603bd1778c9c (patch)
treeaece5d2a7be401bcac4930875a5c49c4f8990241 /ssh-pkcs11-helper.c
parent114e540b15d57618f9ebf624264298f80bbd8c77 (diff)
downloadopenssh-git-f1e44ea9d9a6d4c1a95a0024132e603bd1778c9c.tar.gz
- djm@cvs.openbsd.org 2013/12/02 02:56:17
[ssh-pkcs11-helper.c] use-after-free; bz#2175 patch from Loganaden Velvindron @ AfriNIC
Diffstat (limited to 'ssh-pkcs11-helper.c')
-rw-r--r--ssh-pkcs11-helper.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ssh-pkcs11-helper.c b/ssh-pkcs11-helper.c
index 39b2e7c5..b7c52beb 100644
--- a/ssh-pkcs11-helper.c
+++ b/ssh-pkcs11-helper.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-pkcs11-helper.c,v 1.6 2013/05/17 00:13:14 djm Exp $ */
+/* $OpenBSD: ssh-pkcs11-helper.c,v 1.7 2013/12/02 02:56:17 djm Exp $ */
/*
* Copyright (c) 2010 Markus Friedl. All rights reserved.
*
@@ -127,7 +127,8 @@ process_add(void)
buffer_put_char(&msg, SSH2_AGENT_IDENTITIES_ANSWER);
buffer_put_int(&msg, nkeys);
for (i = 0; i < nkeys; i++) {
- key_to_blob(keys[i], &blob, &blen);
+ if (key_to_blob(keys[i], &blob, &blen) == 0)
+ continue;
buffer_put_string(&msg, blob, blen);
buffer_put_cstring(&msg, name);
free(blob);