aboutsummaryrefslogtreecommitdiff
path: root/src/lib/kdb/kdb5.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/kdb/kdb5.c')
-rw-r--r--src/lib/kdb/kdb5.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/src/lib/kdb/kdb5.c b/src/lib/kdb/kdb5.c
index 67ceacb..eb68f22 100644
--- a/src/lib/kdb/kdb5.c
+++ b/src/lib/kdb/kdb5.c
@@ -1678,23 +1678,14 @@ krb5_db_setup_mkey_name(krb5_context context,
char **fullname, krb5_principal * principal)
{
krb5_error_code retval;
- size_t keylen;
- size_t rlen = strlen(realm);
char *fname;
if (!keyname)
keyname = KRB5_KDB_M_NAME; /* XXX external? */
- keylen = strlen(keyname);
-
- fname = malloc(keylen + rlen + strlen(REALM_SEP_STRING) + 1);
- if (!fname)
+ if (asprintf(&fname, "%s%s%s", keyname, REALM_SEP_STRING, realm) < 0)
return ENOMEM;
- strcpy(fname, keyname);
- strcat(fname, REALM_SEP_STRING);
- strcat(fname, realm);
-
if ((retval = krb5_parse_name(context, fname, principal)))
return retval;
if (fullname)