catch error and, while here, destroy credential caches on error
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24866 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
10
appl/su/su.c
10
appl/su/su.c
@@ -237,11 +237,19 @@ krb5_start_session(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret = krb5_cc_copy_cache(context, ccache, ccache2);
|
ret = krb5_cc_copy_cache(context, ccache, ccache2);
|
||||||
|
if (ret) {
|
||||||
|
krb5_cc_destroy(context, ccache);
|
||||||
|
krb5_cc_destroy(context, ccache2);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
ret = asprintf(&cc_name, "%s:%s", krb5_cc_get_type(context, ccache2),
|
ret = asprintf(&cc_name, "%s:%s", krb5_cc_get_type(context, ccache2),
|
||||||
krb5_cc_get_name(context, ccache2));
|
krb5_cc_get_name(context, ccache2));
|
||||||
if (ret == -1)
|
if (ret == -1) {
|
||||||
|
krb5_cc_destroy(context, ccache);
|
||||||
|
krb5_cc_destroy(context, ccache2);
|
||||||
errx(1, "malloc - out of memory");
|
errx(1, "malloc - out of memory");
|
||||||
|
}
|
||||||
esetenv("KRB5CCNAME", cc_name, 1);
|
esetenv("KRB5CCNAME", cc_name, 1);
|
||||||
|
|
||||||
/* convert creds? */
|
/* convert creds? */
|
||||||
|
Reference in New Issue
Block a user