ffmpeg | branch: master | Clément Bœsch <u...@pkh.me> | Fri May 19 11:47:36 2017 +0200| [6a3538bb233e5bdaf6448b1a897e5459fcc0c44f] | committer: Clément Bœsch
Merge commit 'b83aea73404f6f9314e72fe5d6238deaffa12b2c' * commit 'b83aea73404f6f9314e72fe5d6238deaffa12b2c': des-test: Pass the proper types to av_des_*() functions See 183c3fa48acaf4561d5269ab9a766d13ae70140c Merged-by: Clément Bœsch <u...@pkh.me> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6a3538bb233e5bdaf6448b1a897e5459fcc0c44f --- 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 ed04fad519..309be29473 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, (uint8_t *) key, 192, 0); - av_des_crypt(&d, (uint8_t *) &ct, (uint8_t *) &data, 1, NULL, 0); - av_des_init(&d, (uint8_t *) key, 192, 1); - av_des_crypt(&d, (uint8_t *) &ct, (uint8_t *) &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; } ====================================================================== _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog