summaryrefslogtreecommitdiffstats
path: root/src/lib/gssapi/krb5/add_cred.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/gssapi/krb5/add_cred.c')
-rw-r--r--src/lib/gssapi/krb5/add_cred.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/gssapi/krb5/add_cred.c b/src/lib/gssapi/krb5/add_cred.c
index 6110193953..3ac32fc2e7 100644
--- a/src/lib/gssapi/krb5/add_cred.c
+++ b/src/lib/gssapi/krb5/add_cred.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2000 by the Massachusetts Institute of Technology.
+ * Copyright 2000, 2007 by the Massachusetts Institute of Technology.
* All Rights Reserved.
*
* Export of this software from the United States of America may
@@ -122,6 +122,7 @@ krb5_gss_add_cred(minor_status, input_cred_handle,
major_status = krb5_gss_validate_cred_1(minor_status, input_cred_handle,
context);
if (GSS_ERROR(major_status)) {
+ save_error_info(*minor_status, context);
krb5_free_context(context);
return major_status;
}
@@ -150,6 +151,7 @@ krb5_gss_add_cred(minor_status, input_cred_handle,
}
if (GSS_ERROR(kg_sync_ccache_name(context, minor_status))) {
+ save_error_info(*minor_status, context);
krb5_free_context(context);
return GSS_S_FAILURE;
}
@@ -203,6 +205,7 @@ krb5_gss_add_cred(minor_status, input_cred_handle,
xfree(new_cred);
*minor_status = code;
+ save_error_info(*minor_status, context);
krb5_free_context(context);
return(GSS_S_FAILURE);
}
@@ -232,6 +235,7 @@ krb5_gss_add_cred(minor_status, input_cred_handle,
xfree(new_cred);
*minor_status = code;
+ save_error_info(*minor_status, context);
krb5_free_context(context);
return(GSS_S_FAILURE);
}
@@ -243,6 +247,7 @@ krb5_gss_add_cred(minor_status, input_cred_handle,
xfree(new_cred);
*minor_status = code;
+ save_error_info(*minor_status, context);
krb5_free_context(context);
return(GSS_S_FAILURE);
}
@@ -261,8 +266,9 @@ krb5_gss_add_cred(minor_status, input_cred_handle,
krb5_free_principal(context, new_cred->princ);
xfree(new_cred);
- krb5_free_context(context);
*minor_status = code;
+ save_error_info(*minor_status, context);
+ krb5_free_context(context);
return(GSS_S_FAILURE);
}
} else {
@@ -301,9 +307,10 @@ krb5_gss_add_cred(minor_status, input_cred_handle,
if (new_cred->princ)
krb5_free_principal(context, new_cred->princ);
xfree(new_cred);
- krb5_free_context(context);
*minor_status = code;
+ save_error_info(*minor_status, context);
+ krb5_free_context(context);
return(GSS_S_FAILURE);
}
} else {