+ gssBufferToKrbData(tokenMIC, &kiov[i].data);
+ } else {
+ size_t checksumSize;
+
+#ifdef HAVE_HEIMDAL_VERSION
+ code = krb5_checksumsize(krbContext, ctx->checksumType,
+ &checksumSize);
+#else
+ code = krb5_c_checksum_length(krbContext, ctx->checksumType,
+ &checksumSize);
+#endif
+ if (code != 0)
+ goto cleanup;
+
+ kiov[i].data.data = GSSEAP_MALLOC(checksumSize);
+ if (kiov[i].data.data == NULL) {
+ code = ENOMEM;
+ goto cleanup;
+ }
+ kiov[i].data.length = checksumSize;
+ checksumIndex = i;
+ }
+ i++;
+ GSSEAP_ASSERT(i == kiovCount);