summaryrefslogtreecommitdiff
path: root/libavutil
diff options
context:
space:
mode:
authorClément Bœsch <u@pkh.me>2017-05-19 11:47:36 +0200
committerClément Bœsch <u@pkh.me>2017-05-19 11:50:28 +0200
commit6a3538bb233e5bdaf6448b1a897e5459fcc0c44f (patch)
tree2857e1eff10ce89e43ba5bdc5bdc47b0386b955a /libavutil
parent5d986609ba47b405018b1de78413a76b58de1c8b (diff)
parentb83aea73404f6f9314e72fe5d6238deaffa12b2c (diff)
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>
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/tests/des.c35
1 files 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;
}