summaryrefslogtreecommitdiff
path: root/third_party/heimdal/lib/gssapi/spnego/negoex_ctx.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/heimdal/lib/gssapi/spnego/negoex_ctx.c')
-rw-r--r--third_party/heimdal/lib/gssapi/spnego/negoex_ctx.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/third_party/heimdal/lib/gssapi/spnego/negoex_ctx.c b/third_party/heimdal/lib/gssapi/spnego/negoex_ctx.c
index 13e28bb59fd..3f8aa5c3e7b 100644
--- a/third_party/heimdal/lib/gssapi/spnego/negoex_ctx.c
+++ b/third_party/heimdal/lib/gssapi/spnego/negoex_ctx.c
@@ -904,12 +904,14 @@ cleanup:
if (GSS_ERROR(major)) {
if (!mech_error) {
- krb5_context context = _gss_mg_krb5_context();
-
- gss_mg_set_error_string(GSS_SPNEGO_MECHANISM,
- major, *minor,
- "NegoEx failed to initialize security context: %s",
- krb5_get_error_message(context, *minor));
+ krb5_context context = _gss_mg_krb5_context();
+ const char *emsg = krb5_get_error_message(context, *minor);
+
+ gss_mg_set_error_string(GSS_SPNEGO_MECHANISM,
+ major, *minor,
+ "NegoEx failed to initialize security context: %s",
+ emsg);
+ krb5_free_error_message(context, emsg);
}
_gss_negoex_release_context(ctx);
@@ -1022,12 +1024,14 @@ cleanup:
if (GSS_ERROR(major)) {
if (!mech_error) {
- krb5_context context = _gss_mg_krb5_context();
-
- gss_mg_set_error_string(GSS_SPNEGO_MECHANISM,
- major, *minor,
- "NegoEx failed to accept security context: %s",
- krb5_get_error_message(context, *minor));
+ krb5_context context = _gss_mg_krb5_context();
+ const char *emsg = krb5_get_error_message(context, *minor);
+
+ gss_mg_set_error_string(GSS_SPNEGO_MECHANISM,
+ major, *minor,
+ "NegoEx failed to accept security context: %s",
+ emsg);
+ krb5_free_error_message(context, emsg);
}
_gss_negoex_release_context(ctx);