summaryrefslogtreecommitdiff
path: root/usr.bin/ssh/authfile.c
diff options
context:
space:
mode:
authorDamien Miller <djm@cvs.openbsd.org>2010-08-04 05:49:23 +0000
committerDamien Miller <djm@cvs.openbsd.org>2010-08-04 05:49:23 +0000
commit435b454d8fd79f7a879c86159d1be8c29e5845db (patch)
tree26fb50bf47a190f7eb7ef7fe83feb62b34e01a8e /usr.bin/ssh/authfile.c
parent14b22ad10a4f9a8cb3e3aa1bcd44cd544c1bba8f (diff)
commited the wrong version of the hostbased certificate diff; this
version replaces some strlc{py,at} verbosity with xasprintf() at the request of markus@
Diffstat (limited to 'usr.bin/ssh/authfile.c')
-rw-r--r--usr.bin/ssh/authfile.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/usr.bin/ssh/authfile.c b/usr.bin/ssh/authfile.c
index ffc21005c0c..90271c31860 100644
--- a/usr.bin/ssh/authfile.c
+++ b/usr.bin/ssh/authfile.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: authfile.c,v 1.81 2010/08/04 05:42:47 djm Exp $ */
+/* $OpenBSD: authfile.c,v 1.82 2010/08/04 05:49:22 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -686,13 +686,15 @@ Key *
key_load_cert(const char *filename)
{
Key *pub;
- char file[MAXPATHLEN];
+ char *file;
pub = key_new(KEY_UNSPEC);
- if ((strlcpy(file, filename, sizeof file) < sizeof(file)) &&
- (strlcat(file, "-cert.pub", sizeof file) < sizeof(file)) &&
- (key_try_load_public(pub, file, NULL) == 1))
+ xasprintf(&file, "%s-cert.pub", filename);
+ if (key_try_load_public(pub, file, NULL) == 1) {
+ xfree(file);
return pub;
+ }
+ xfree(file);
key_free(pub);
return NULL;
}