summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/sshconnect2.c
diff options
context:
space:
mode:
authormarkus <markus@openbsd.org>2002-01-13 17:57:37 +0000
committermarkus <markus@openbsd.org>2002-01-13 17:57:37 +0000
commitafb63d1e5c465c74821eab01fabd39ba93415681 (patch)
treef69b20172b3d6f43db79182737563537c9d6639b /usr.bin/ssh/sshconnect2.c
parentchange to use queue.h macros; okay markus@ (diff)
downloadwireguard-openbsd-afb63d1e5c465c74821eab01fabd39ba93415681.tar.xz
wireguard-openbsd-afb63d1e5c465c74821eab01fabd39ba93415681.zip
use buffer API and avoid static strings of fixed size; ok provos@/mouring@
Diffstat (limited to 'usr.bin/ssh/sshconnect2.c')
-rw-r--r--usr.bin/ssh/sshconnect2.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/usr.bin/ssh/sshconnect2.c b/usr.bin/ssh/sshconnect2.c
index a565f73cc47..3e5ca7ad119 100644
--- a/usr.bin/ssh/sshconnect2.c
+++ b/usr.bin/ssh/sshconnect2.c
@@ -23,7 +23,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: sshconnect2.c,v 1.92 2001/12/28 15:06:00 markus Exp $");
+RCSID("$OpenBSD: sshconnect2.c,v 1.93 2002/01/13 17:57:37 markus Exp $");
#include <openssl/bn.h>
#include <openssl/md5.h>
@@ -991,22 +991,23 @@ authmethod_get(char *authlist)
}
}
-
-#define DELIM ","
-
static char *
authmethods_get(void)
{
Authmethod *method = NULL;
- char buf[1024];
+ Buffer b;
+ char *list;
- buf[0] = '\0';
+ buffer_init(&b);
for (method = authmethods; method->name != NULL; method++) {
if (authmethod_is_enabled(method)) {
- if (buf[0] != '\0')
- strlcat(buf, DELIM, sizeof buf);
- strlcat(buf, method->name, sizeof buf);
+ if (buffer_len(&b) > 0)
+ buffer_append(&b, ",", 1);
+ buffer_append(&b, method->name, strlen(method->name));
}
}
- return xstrdup(buf);
+ buffer_append(&b, "\0", 1);
+ list = xstrdup(buffer_ptr(&b));
+ buffer_free(&b);
+ return list;
}