From 83721dc828e9b018f532ddba3ef240c39b65741f Mon Sep 17 00:00:00 2001 From: Tom Yu Date: Wed, 13 Nov 1996 03:35:50 +0000 Subject: * keytab.c (process_keytab): Retrieve *keytab_str using krb5_kt_default_name() to avoid global variable nastiness. * kadmin.c (kadmin_startup): Use krb5_kt_set_default_name to change the default keytab name rather than assigning to a library global variable. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@9394 dc483132-0cff-0310-8789-dd5450dbe970 --- src/kadmin/cli/keytab.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/kadmin/cli/keytab.c') diff --git a/src/kadmin/cli/keytab.c b/src/kadmin/cli/keytab.c index 338206356d..5a47bf159b 100644 --- a/src/kadmin/cli/keytab.c +++ b/src/kadmin/cli/keytab.c @@ -23,7 +23,6 @@ static int remove_principal(char *keytab_str, krb5_keytab keytab, char *princ_str, char *kvno_str); static char *etype_string(krb5_enctype enctype); -extern char *krb5_defkeyname; extern char *whoami; extern krb5_context context; extern void *handle; @@ -45,8 +44,15 @@ int process_keytab(krb5_context context, char **keytab_str, int code; if (*keytab_str == NULL) { - if (! (*keytab_str = strdup(krb5_defkeyname))) { - com_err(whoami, ENOMEM, "while creating keytab name"); + char *keytab_str = malloc(BUFSIZ); + + if (keytab_str == NULL) { + com_err(whoami, ENOMEM, "while creating default keytab name"); + return 1; + } + if ((code = krb5_kt_default_name(context, keytab_str, BUFSIZ))) { + com_err(whoami, code, "while copying default keytab name"); + free(*keytab_str); return 1; } code = krb5_kt_default(context, keytab); -- cgit