return GSS_S_FAILURE;
}
- oid->elements = GSSEAP_MALLOC(GSS_EAP_MECHANISM->length + 1);
+ oid->length = GSS_EAP_MECHANISM->length + 1;
+ oid->elements = GSSEAP_MALLOC(oid->length);
if (oid->elements == NULL) {
*minor = ENOMEM;
- free(oid);
+ GSSEAP_FREE(oid);
return GSS_S_FAILURE;
}
gssEapInternalizeOid(oid, pOid);
*pOid = oid;
} else {
- free(oid->elements);
- free(oid);
+ GSSEAP_FREE(oid->elements);
+ GSSEAP_FREE(oid);
}
return major;
GSSEAP_FREE(etypes); /* XXX */
+ *minor = 0;
return major;
}