[FFmpeg-cvslog] blowfish-test: Use struct allocation functions from the API

Diego Biurrun git at videolan.org
Fri Jun 24 11:14:55 CEST 2016


ffmpeg | branch: master | Diego Biurrun <diego at biurrun.de> | Wed May 11 12:47:55 2016 +0200| [8131bd4c22ad59b040173f67a5b2edb75863e801] | committer: Diego Biurrun

blowfish-test: Use struct allocation functions from the API

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8131bd4c22ad59b040173f67a5b2edb75863e801
---

 libavutil/tests/blowfish.c |   30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/libavutil/tests/blowfish.c b/libavutil/tests/blowfish.c
index 93e8998..301c616 100644
--- a/libavutil/tests/blowfish.c
+++ b/libavutil/tests/blowfish.c
@@ -21,6 +21,7 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "libavutil/mem.h"
 #include "libavutil/blowfish.h"
 
 #define NUM_VARIABLE_KEY_TESTS 34
@@ -144,46 +145,49 @@ static void test_blowfish(AVBlowfish *ctx, uint8_t *dst, const uint8_t *src,
 
 int main(void)
 {
-    AVBlowfish ctx;
     uint32_t tmptext_l[NUM_VARIABLE_KEY_TESTS];
     uint32_t tmptext_r[NUM_VARIABLE_KEY_TESTS];
     uint8_t tmp[16], iv[8];
     int i;
+    AVBlowfish *ctx = av_blowfish_alloc();
+    if (!ctx)
+        return 1;
 
-    av_blowfish_init(&ctx, "abcdefghijklmnopqrstuvwxyz", 26);
+    av_blowfish_init(ctx, "abcdefghijklmnopqrstuvwxyz", 26);
 
-    test_blowfish(&ctx, tmp, plaintext, ciphertext, 1, NULL, 0, "encryption");
-    test_blowfish(&ctx, tmp, ciphertext, plaintext, 1, NULL, 1, "decryption");
-    test_blowfish(&ctx, tmp, tmp, ciphertext, 1, NULL, 0, "Inplace encryption");
-    test_blowfish(&ctx, tmp, tmp, plaintext,  1, NULL, 1, "Inplace decryption");
+    test_blowfish(ctx, tmp, plaintext, ciphertext, 1, NULL, 0, "encryption");
+    test_blowfish(ctx, tmp, ciphertext, plaintext, 1, NULL, 1, "decryption");
+    test_blowfish(ctx, tmp, tmp, ciphertext, 1, NULL, 0, "Inplace encryption");
+    test_blowfish(ctx, tmp, tmp, plaintext,  1, NULL, 1, "Inplace decryption");
     memcpy(iv, IV, 8);
-    test_blowfish(&ctx, tmp, plaintext2, ciphertext2, 2, iv, 0, "CBC encryption");
+    test_blowfish(ctx, tmp, plaintext2, ciphertext2, 2, iv, 0, "CBC encryption");
     memcpy(iv, IV, 8);
-    test_blowfish(&ctx, tmp, ciphertext2, plaintext2, 2, iv, 1, "CBC decryption");
+    test_blowfish(ctx, tmp, ciphertext2, plaintext2, 2, iv, 1, "CBC decryption");
     memcpy(iv, IV, 8);
-    test_blowfish(&ctx, tmp, tmp, ciphertext2, 2, iv, 0, "Inplace CBC encryption");
+    test_blowfish(ctx, tmp, tmp, ciphertext2, 2, iv, 0, "Inplace CBC encryption");
     memcpy(iv, IV, 8);
-    test_blowfish(&ctx, tmp, tmp, plaintext2,  2, iv, 1, "Inplace CBC decryption");
+    test_blowfish(ctx, tmp, tmp, plaintext2,  2, iv, 1, "Inplace CBC decryption");
 
     memcpy(tmptext_l, plaintext_l, sizeof(*plaintext_l) * NUM_VARIABLE_KEY_TESTS);
     memcpy(tmptext_r, plaintext_r, sizeof(*plaintext_r) * NUM_VARIABLE_KEY_TESTS);
 
     for (i = 0; i < NUM_VARIABLE_KEY_TESTS; i++) {
-        av_blowfish_init(&ctx, variable_key[i], 8);
+        av_blowfish_init(ctx, variable_key[i], 8);
 
-        av_blowfish_crypt_ecb(&ctx, &tmptext_l[i], &tmptext_r[i], 0);
+        av_blowfish_crypt_ecb(ctx, &tmptext_l[i], &tmptext_r[i], 0);
         if (tmptext_l[i] != ciphertext_l[i] || tmptext_r[i] != ciphertext_r[i]) {
             printf("Test encryption failed.\n");
             return 2;
         }
 
-        av_blowfish_crypt_ecb(&ctx, &tmptext_l[i], &tmptext_r[i], 1);
+        av_blowfish_crypt_ecb(ctx, &tmptext_l[i], &tmptext_r[i], 1);
         if (tmptext_l[i] != plaintext_l[i] || tmptext_r[i] != plaintext_r[i]) {
             printf("Test decryption failed.\n");
             return 3;
         }
     }
     printf("Test encryption/decryption success.\n");
+    av_free(ctx);
 
     return 0;
 }



More information about the ffmpeg-cvslog mailing list