- djm@cvs.openbsd.org 2010/08/04 05:49:22
     [authfile.c]
     commited the wrong version of the hostbased certificate diff; this
     version replaces some strlc{py,at} verbosity with xasprintf() at
     the request of markus@
diff --git a/ChangeLog b/ChangeLog
index 7125eaa..684c523 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,11 @@
      [ssh-keysign.c ssh.c]
      enable certificates for hostbased authentication, from Iain Morgan;
      "looks ok" markus@
+   - djm@cvs.openbsd.org 2010/08/04 05:49:22
+     [authfile.c]
+     commited the wrong version of the hostbased certificate diff; this
+     version replaces some strlc{py,at} verbosity with xasprintf() at
+     the request of markus@
 
 20100903
  - (dtucker) [monitor.c] Bug #1795: Initialize the values to be returned from
diff --git a/authfile.c b/authfile.c
index 6bf41db..2bd8878 100644
--- a/authfile.c
+++ b/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
@@ -698,13 +698,15 @@
 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;
 }