summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@cvs.openbsd.org>2013-12-02 02:56:18 +0000
committerDamien Miller <djm@cvs.openbsd.org>2013-12-02 02:56:18 +0000
commitf3b3665d9a010f055694845ded4395dbe5e472ec (patch)
treee406c8d995dc5c40a13da69a85a447fa6fb5c045
parent4f126cf2a248d99b7f11642d78b9cd922f00d369 (diff)
use-after-free; bz#2175 patch from Loganaden Velvindron @ AfriNIC
-rw-r--r--usr.bin/ssh/ssh-pkcs11-helper.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/ssh/ssh-pkcs11-helper.c b/usr.bin/ssh/ssh-pkcs11-helper.c
index b9fce86e7ab..80e4dd3b385 100644
--- a/usr.bin/ssh/ssh-pkcs11-helper.c
+++ b/usr.bin/ssh/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.
*
@@ -120,7 +120,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);