GSSEAP_ASSERT(gssEapAttrProvidersInitStatus == GSS_S_UNAVAILABLE);
+ json_set_alloc_funcs(GSSEAP_MALLOC, GSSEAP_FREE);
+
major = gssEapRadiusAttrProviderInit(&minor);
if (GSS_ERROR(major))
goto cleanup;
*pKrbContext = krbContext;
cleanup:
+ krb5_free_default_realm(krbContext, defaultRealm);
+
if (code != 0 && krbContext != NULL)
krb5_free_context(krbContext);
- if (defaultRealm != NULL)
- GSSEAP_FREE(defaultRealm);
-
return code;
}
if (code != 0)
goto cleanup;
- GSSEAP_FREE(buf);
+ free(buf); /* match ASN1_MALLOC_ENCODE */
buf = NULL;
ASN1_MALLOC_ENCODE(AD_KDCIssued, buf, buf_size, &kdcIssued, &len, code);
cleanup:
if (buf != NULL)
- GSSEAP_FREE(buf);
+ free(buf); /* match ASN1_MALLOC_ENCODE */
if (crypto != NULL)
krb5_crypto_destroy(context, crypto);
free_Checksum(&kdcIssued.ad_checksum);
}
if (realm != NULL)
- GSSEAP_FREE(realm);
+ krb5_free_default_realm(krbContext, realm);
GSSEAP_FREE(service);
return major;
#endif
if (defaultRealm != NULL)
- GSSEAP_FREE(defaultRealm);
+ krb5_free_default_realm(krbContext, defaultRealm);
}
if (nameBuffer != GSS_C_NO_BUFFER)