From: Daniel P. Berrangé Date: Thu, 8 Oct 2020 16:41:21 +0000 (+0100) Subject: crypto: skip essiv ivgen tests if AES+ECB isn't available X-Git-Tag: v6.1.0-rc0~12^2~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=295736cfc82ae9019cd647ef012a71f4e277e864;p=thirdparty%2Fqemu.git crypto: skip essiv ivgen tests if AES+ECB isn't available Reviewed-by: Eric Blake Signed-off-by: Daniel P. Berrangé --- diff --git a/tests/unit/test-crypto-ivgen.c b/tests/unit/test-crypto-ivgen.c index f581e6aba7b..29630ed348a 100644 --- a/tests/unit/test-crypto-ivgen.c +++ b/tests/unit/test-crypto-ivgen.c @@ -136,8 +136,15 @@ struct QCryptoIVGenTestData { static void test_ivgen(const void *opaque) { const struct QCryptoIVGenTestData *data = opaque; - uint8_t *iv = g_new0(uint8_t, data->niv); - QCryptoIVGen *ivgen = qcrypto_ivgen_new( + g_autofree uint8_t *iv = g_new0(uint8_t, data->niv); + g_autoptr(QCryptoIVGen) ivgen = NULL; + + if (!qcrypto_cipher_supports(data->cipheralg, + QCRYPTO_CIPHER_MODE_ECB)) { + return; + } + + ivgen = qcrypto_ivgen_new( data->ivalg, data->cipheralg, data->hashalg, @@ -152,9 +159,6 @@ static void test_ivgen(const void *opaque) &error_abort); g_assert(memcmp(iv, data->iv, data->niv) == 0); - - qcrypto_ivgen_free(ivgen); - g_free(iv); } int main(int argc, char **argv)