cleanup
[mech_eap.orig] / util_mech.c
index efeca2d..d73eaf5 100644 (file)
@@ -133,10 +133,11 @@ gssEapEnctypeToOid(OM_uint32 *minor,
         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;
     }
 
@@ -149,8 +150,8 @@ gssEapEnctypeToOid(OM_uint32 *minor,
         gssEapInternalizeOid(oid, pOid);
         *pOid = oid;
     } else {
-        free(oid->elements);
-        free(oid);
+        GSSEAP_FREE(oid->elements);
+        GSSEAP_FREE(oid);
     }
 
     return major;
@@ -198,6 +199,7 @@ gssEapIndicateMechs(OM_uint32 *minor,
 
     GSSEAP_FREE(etypes); /* XXX */
 
+    *minor = 0;
     return major;
 }