From b26d1d6dfbf712d32ab96c31c98e8f29da038758 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sun, 31 Dec 2000 02:51:43 +0000 Subject: [PATCH] (kt_get): more error checking git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9426 ec53bebd-3082-4978-b11e-865c3cabbd6b --- admin/get.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/admin/get.c b/admin/get.c index b01ba81bd..d1e0ee82d 100644 --- a/admin/get.c +++ b/admin/get.c @@ -131,13 +131,26 @@ kt_get(int argc, char **argv) if(ret == 0) created++; else if(ret != KADM5_DUP) { + krb5_warn(context, ret, "kadm5_create_principal(%s)", argv[i]); krb5_free_principal(context, princ_ent); continue; } ret = kadm5_randkey_principal(kadm_handle, princ_ent, &keys, &n_keys); + if (ret) { + krb5_warn(context, ret, "kadm5_randkey_principal(%s)", argv[i]); + krb5_free_principal(context, princ_ent); + continue; + } ret = kadm5_get_principal(kadm_handle, princ_ent, &princ, KADM5_PRINCIPAL | KADM5_KVNO | KADM5_ATTRIBUTES); + if (ret) { + krb5_warn(context, ret, "kadm5_get_principal(%s)", argv[i]); + for (j = 0; j < n_keys; j++) + krb5_free_keyblock_contents(context, &keys[j]); + krb5_free_principal(context, princ_ent); + continue; + } princ.attributes &= (~KRB5_KDB_DISALLOW_ALL_TIX); mask = KADM5_ATTRIBUTES; if(created) { @@ -145,6 +158,13 @@ kt_get(int argc, char **argv) mask |= KADM5_KVNO; } ret = kadm5_modify_principal(kadm_handle, &princ, mask); + if (ret) { + krb5_warn(context, ret, "kadm5_modify_principal(%s)", argv[i]); + for (j = 0; j < n_keys; j++) + krb5_free_keyblock_contents(context, &keys[j]); + krb5_free_principal(context, princ_ent); + continue; + } for(j = 0; j < n_keys; j++) { entry.principal = princ_ent; entry.vno = princ.kvno;