[FFmpeg-cvslog] Merge commit 'b83aea73404f6f9314e72fe5d6238deaffa12b2c'

Clément Bœsch git at videolan.org
Fri May 19 12:51:51 EEST 2017


ffmpeg | branch: master | Clément Bœsch <u at 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 at 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;
         }


======================================================================




More information about the ffmpeg-cvslog mailing list