summaryrefslogtreecommitdiff
path: root/gss-genr.c
diff options
context:
space:
mode:
Diffstat (limited to 'gss-genr.c')
-rw-r--r--gss-genr.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gss-genr.c b/gss-genr.c
index 4c10f1aab..3d630ab82 100644
--- a/gss-genr.c
+++ b/gss-genr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: gss-genr.c,v 1.9 2006/03/25 22:22:43 djm Exp $ */ 1/* $OpenBSD: gss-genr.c,v 1.10 2006/04/03 07:10:38 djm Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved. 4 * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
@@ -205,10 +205,11 @@ OM_uint32
205ssh_gssapi_import_name(Gssctxt *ctx, const char *host) 205ssh_gssapi_import_name(Gssctxt *ctx, const char *host)
206{ 206{
207 gss_buffer_desc gssbuf; 207 gss_buffer_desc gssbuf;
208 char *val;
208 209
209 gssbuf.length = sizeof("host@") + strlen(host); 210 xasprintf(&val, "host@%s", host);
210 gssbuf.value = xmalloc(gssbuf.length); 211 gssbuf.value = val;
211 snprintf(gssbuf.value, gssbuf.length, "host@%s", host); 212 gssbuf.length = strlen(gssbuf.value);
212 213
213 if ((ctx->major = gss_import_name(&ctx->minor, 214 if ((ctx->major = gss_import_name(&ctx->minor,
214 &gssbuf, GSS_C_NT_HOSTBASED_SERVICE, &ctx->name))) 215 &gssbuf, GSS_C_NT_HOSTBASED_SERVICE, &ctx->name)))