aboutsummaryrefslogtreecommitdiff
path: root/src/kadmin
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2009-09-25 16:31:40 +0000
committerGreg Hudson <ghudson@mit.edu>2009-09-25 16:31:40 +0000
commita1cb991d2dbfa5e5f9735d12b38634fc643de04b (patch)
tree294a7977e53e0b48ebe69771d472aa4af1c3b2e0 /src/kadmin
parentd53c08656422f6c84721cd849393386c1f3aa145 (diff)
downloadkrb5-a1cb991d2dbfa5e5f9735d12b38634fc643de04b.zip
krb5-a1cb991d2dbfa5e5f9735d12b38634fc643de04b.tar.gz
krb5-a1cb991d2dbfa5e5f9735d12b38634fc643de04b.tar.bz2
Fix a few bugs in kadmin's keytab.c from r22785
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22788 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin')
-rw-r--r--src/kadmin/cli/keytab.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/kadmin/cli/keytab.c b/src/kadmin/cli/keytab.c
index 643e91d..fa2de42 100644
--- a/src/kadmin/cli/keytab.c
+++ b/src/kadmin/cli/keytab.c
@@ -100,7 +100,7 @@ process_keytab(krb5_context my_context, char **keytab_str,
} else {
if (strchr(name, ':') != NULL)
name = strdup(name);
- else if (asprintf(keytab_str, "WRFILE:%s", name) < 0)
+ else if (asprintf(&name, "WRFILE:%s", name) < 0)
name = NULL;
if (name == NULL) {
com_err(whoami, ENOMEM, "while creating keytab name");
@@ -342,7 +342,7 @@ cleanup:
krb5_free_principal(context, princ);
}
-void
+static void
remove_principal(char *keytab_str, krb5_keytab keytab,
char *princ_str, char *kvno_str)
{
@@ -356,7 +356,7 @@ remove_principal(char *keytab_str, krb5_keytab keytab,
code = krb5_parse_name(context, princ_str, &princ);
if (code != 0) {
com_err(whoami, code, "while parsing principal name %s", princ_str);
- return code;
+ return;
}
mode = UNDEF;
@@ -392,7 +392,7 @@ remove_principal(char *keytab_str, krb5_keytab keytab,
}
} else
com_err(whoami, code, "while retrieving highest kvno from keytab");
- return code;
+ return;
}
/* set kvno to spec'ed value for SPEC, highest kvno otherwise */
@@ -402,7 +402,7 @@ remove_principal(char *keytab_str, krb5_keytab keytab,
code = krb5_kt_start_seq_get(context, keytab, &cursor);
if (code != 0) {
com_err(whoami, code, "while starting keytab scan");
- return code;
+ return;
}
did_something = 0;
@@ -422,17 +422,17 @@ remove_principal(char *keytab_str, krb5_keytab keytab,
code = krb5_kt_end_seq_get(context, keytab, &cursor);
if (code != 0) {
com_err(whoami, code, "while temporarily ending keytab scan");
- return code;
+ return;
}
code = krb5_kt_remove_entry(context, keytab, &entry);
if (code != 0) {
com_err(whoami, code, "while deleting entry from keytab");
- return code;
+ return;
}
code = krb5_kt_start_seq_get(context, keytab, &cursor);
if (code != 0) {
com_err(whoami, code, "while restarting keytab scan");
- return code;
+ return;
}
did_something++;
@@ -445,12 +445,12 @@ remove_principal(char *keytab_str, krb5_keytab keytab,
}
if (code && code != KRB5_KT_END) {
com_err(whoami, code, "while scanning keytab");
- return code;
+ return;
}
code = krb5_kt_end_seq_get(context, keytab, &cursor);
if (code) {
com_err(whoami, code, "while ending keytab scan");
- return code;
+ return;
}
/*
@@ -461,10 +461,7 @@ remove_principal(char *keytab_str, krb5_keytab keytab,
if (!did_something && mode == OLD) {
fprintf(stderr, "%s: There is only one entry for principal "
"%s in keytab %s\n", whoami, princ_str, keytab_str);
- return 1;
}
-
- return 0;
}
/*