aboutsummaryrefslogtreecommitdiff
path: root/crypto/krb5/src/lib/gssapi/generic/util_errmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/krb5/src/lib/gssapi/generic/util_errmap.c')
-rw-r--r--crypto/krb5/src/lib/gssapi/generic/util_errmap.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/krb5/src/lib/gssapi/generic/util_errmap.c b/crypto/krb5/src/lib/gssapi/generic/util_errmap.c
index 628a455d2ad4..138310ce63c0 100644
--- a/crypto/krb5/src/lib/gssapi/generic/util_errmap.c
+++ b/crypto/krb5/src/lib/gssapi/generic/util_errmap.c
@@ -25,6 +25,7 @@
*/
#include "gssapiP_generic.h"
+#include <mglueP.h>
#include <string.h>
#ifndef _WIN32
#include <unistd.h>
@@ -181,6 +182,9 @@ OM_uint32 gssint_mecherrmap_map(OM_uint32 minor, const gss_OID_desc * oid)
f = stderr;
#endif
+ if (gssint_mechglue_initialize_library() != 0)
+ return 0;
+
me.code = minor;
me.mech = *oid;
k5_mutex_lock(&mutex);
@@ -249,7 +253,7 @@ int gssint_mecherrmap_get(OM_uint32 minor, gss_OID mech_oid,
{
const struct mecherror *p;
- if (minor == 0) {
+ if (minor == 0 || gssint_mechglue_initialize_library() != 0) {
return EINVAL;
}
k5_mutex_lock(&mutex);