+ /* Some sanity checking. */
+ int flags = c->flags | TPL_VAL(c, flags);
+ int block_size = TPL(c, block_size);
+ switch (flags & EVP_CIPH_MODE) {
+ case EVP_CIPH_CTR_MODE:
+ case EVP_CIPH_CFB_MODE:
+ case EVP_CIPH_OFB_MODE:
+ OPENSSL_assert(block_size == 1);
+ OPENSSL_assert(flags & EVP_CIPH_NO_PADDING);
+ break;
+ default:
+ OPENSSL_assert(block_size != 1);
+ OPENSSL_assert(!(flags & EVP_CIPH_NO_PADDING));
+ }
+
+ if (TPL(c, iv_len))
+ OPENSSL_assert(flags & EVP_CIPH_CUSTOM_IV);
+ else
+ OPENSSL_assert(!(flags & EVP_CIPH_CUSTOM_IV));
+