(init_cred_loop): try to catch the error when we actually have an
error to catch. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17995 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1216,6 +1216,8 @@ init_cred_loop(krb5_context context,
|
|||||||
memset(&md, 0, sizeof(md));
|
memset(&md, 0, sizeof(md));
|
||||||
memset(&rep, 0, sizeof(rep));
|
memset(&rep, 0, sizeof(rep));
|
||||||
|
|
||||||
|
_krb5_get_init_creds_opt_free_krb5_error(init_cred_opts);
|
||||||
|
|
||||||
if (ret_as_reply)
|
if (ret_as_reply)
|
||||||
memset(ret_as_reply, 0, sizeof(*ret_as_reply));
|
memset(ret_as_reply, 0, sizeof(*ret_as_reply));
|
||||||
|
|
||||||
@@ -1326,6 +1328,9 @@ init_cred_loop(krb5_context context,
|
|||||||
krb5_free_error_contents(context, &error);
|
krb5_free_error_contents(context, &error);
|
||||||
send_to_kdc_flags |= KRB5_KRBHST_FLAGS_LARGE_MSG;
|
send_to_kdc_flags |= KRB5_KRBHST_FLAGS_LARGE_MSG;
|
||||||
} else {
|
} else {
|
||||||
|
_krb5_get_init_creds_opt_set_krb5_error(context,
|
||||||
|
init_cred_opts,
|
||||||
|
&error);
|
||||||
if (ret_as_reply)
|
if (ret_as_reply)
|
||||||
rep.error = error;
|
rep.error = error;
|
||||||
else
|
else
|
||||||
@@ -1364,12 +1369,8 @@ out:
|
|||||||
|
|
||||||
if (ret == 0 && ret_as_reply)
|
if (ret == 0 && ret_as_reply)
|
||||||
*ret_as_reply = rep;
|
*ret_as_reply = rep;
|
||||||
else {
|
else
|
||||||
_krb5_get_init_creds_opt_set_krb5_error(context,
|
|
||||||
init_cred_opts,
|
|
||||||
&rep.error);
|
|
||||||
krb5_free_kdc_rep (context, &rep);
|
krb5_free_kdc_rep (context, &rep);
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user