From b83aea73404f6f9314e72fe5d6238deaffa12b2c Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Sun, 16 Oct 2016 12:33:45 +0200 Subject: [PATCH] des-test: Pass the proper types to av_des_*() functions Fixes a number of incompatible pointer type warnings. --- libavutil/tests/des.c | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/libavutil/tests/des.c b/libavutil/tests/des.c index 1e7a2fa50a..b94f6638a7 100644 --- a/libavutil/tests/des.c +++ b/libavutil/tests/des.c @@ -67,19 +67,22 @@ static int run_test(int cbc, int decrypt) } } +union word_byte { + uint64_t word; + uint8_t byte[8]; +}; + int main(void) { AVDES d; int i; - uint64_t key[3]; - uint64_t data; - uint64_t ct; + union word_byte key[3], data, ct; uint64_t roundkeys[16]; srand(av_gettime()); - key[0] = AV_RB64(test_key); - data = AV_RB64(plain); - gen_roundkeys(roundkeys, key[0]); - if (des_encdec(data, roundkeys, 0) != AV_RB64(crypt)) { + key[0].word = AV_RB64(test_key); + data.word = AV_RB64(plain); + gen_roundkeys(roundkeys, key[0].word); + if (des_encdec(data.word, roundkeys, 0) != AV_RB64(crypt)) { printf("Test 1 failed\n"); return 1; } @@ -94,15 +97,15 @@ int main(void) return 1; } for (i = 0; i < 1000; i++) { - key[0] = rand64(); - key[1] = rand64(); - key[2] = rand64(); - data = rand64(); - av_des_init(&d, key, 192, 0); - av_des_crypt(&d, &ct, &data, 1, NULL, 0); - av_des_init(&d, key, 192, 1); - av_des_crypt(&d, &ct, &ct, 1, NULL, 1); - if (ct != data) { + key[0].word = rand64(); + key[1].word = rand64(); + key[2].word = rand64(); + data.word = rand64(); + av_des_init(&d, key[0].byte, 192, 0); + av_des_crypt(&d, ct.byte, data.byte, 1, NULL, 0); + av_des_init(&d, key[0].byte, 192, 1); + av_des_crypt(&d, ct.byte, ct.byte, 1, NULL, 1); + if (ct.word != data.word) { printf("Test 2 failed\n"); return 1; }