use correct free
[mech_eap.orig] / unwrap_iov.c
index ae33843..1624308 100644 (file)
@@ -209,7 +209,7 @@ unwrapToken(OM_uint32 *minor,
             store_uint16_be(0, ptr + 4);
             store_uint16_be(0, ptr + 6);
 
-            code = gssEapVerify(krbContext, 0, rrc,
+            code = gssEapVerify(krbContext, ctx->checksumType, rrc,
                                 &ctx->rfc3961Key, keyUsage,
                                 iov, iov_count, &valid);
             if (code != 0 || valid == FALSE) {
@@ -218,7 +218,7 @@ unwrapToken(OM_uint32 *minor,
             }
         }
 
-        code = sequenceCheck(&ctx->seqState, seqnum);
+        code = sequenceCheck(minor, &ctx->seqState, seqnum);
     } else if (toktype == TOK_TYPE_MIC || toktype == TOK_TYPE_GSS_CB) {
         if (load_uint16_be(ptr) != toktype)
             goto defective;
@@ -228,7 +228,7 @@ unwrapToken(OM_uint32 *minor,
             goto defective;
         seqnum = load_uint64_be(ptr + 8);
 
-        code = gssEapVerify(krbContext, 0, 0,
+        code = gssEapVerify(krbContext, ctx->checksumType, 0,
                             &ctx->rfc3961Key, keyUsage,
                             iov, iov_count, &valid);
         if (code != 0 || valid == FALSE) {
@@ -236,7 +236,7 @@ unwrapToken(OM_uint32 *minor,
             return GSS_S_BAD_SIG;
         }
         if (toktype != TOK_TYPE_GSS_CB)
-            code = sequenceCheck(&ctx->seqState, seqnum);
+            code = sequenceCheck(minor, &ctx->seqState, seqnum);
     } else if (toktype == TOK_TYPE_DELETE_CONTEXT) {
         if (load_uint16_be(ptr) != TOK_TYPE_DELETE_CONTEXT)
             goto defective;