From c0b819a8aa3bdc79b09a2a7ece1c9a1b9ad9e563 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Mon, 10 Jul 2000 02:10:30 +0000 Subject: [PATCH] (krb5_verify): try harder freeing. do not get upset on interrupted password read git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8634 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/su/su.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/appl/su/su.c b/appl/su/su.c index 29d7e1c8b..08ebaad5a 100644 --- a/appl/su/su.c +++ b/appl/su/su.c @@ -161,13 +161,16 @@ krb5_verify(struct passwd *login_info, struct passwd *su_info, #if 1 krb5_warn(context, ret, "krb5_cc_gen_new"); #endif + krb5_free_principal (context, p); return 1; } ret = krb5_verify_user_lrealm(context, p, ccache, NULL, TRUE, NULL); + krb5_free_principal (context, p); if(ret) { - krb5_free_principal (context, p); krb5_cc_destroy(context, ccache); switch (ret) { + case KRB5_LIBOS_PWDINTR : + break; case KRB5KRB_AP_ERR_BAD_INTEGRITY: case KRB5KRB_AP_ERR_MODIFIED: krb5_warnx(context, "Password incorrect"); @@ -180,6 +183,7 @@ krb5_verify(struct passwd *login_info, struct passwd *su_info, } return 0; } + krb5_free_principal (context, p); #endif return 1; }