gssEapReleaseName(&tmpMinor, &ctx->initiatorName);
gssEapReleaseName(&tmpMinor, &ctx->acceptorName);
gss_release_oid(&tmpMinor, &ctx->mechanismUsed);
- sequenceFree(ctx->seqState);
+ sequenceFree(&ctx->seqState);
GSSEAP_MUTEX_DESTROY(&ctx->mutex);
oid = &oidBuf;
}
- major = verifyTokenHeader(oid, &bodySize, &p, inputToken->length, tokenType);
+ major = verifyTokenHeader(minor, oid, &bodySize, &p,
+ inputToken->length, tokenType);
if (GSS_ERROR(major))
- return major;
+ return GSS_S_DEFECTIVE_TOKEN;
- if (ctx->mechanismUsed != GSS_C_NO_OID) {
+ if (ctx->mechanismUsed == GSS_C_NO_OID) {
if (!gssEapIsConcreteMechanismOid(oid))
return GSS_S_BAD_MECH;