diff options
author | Diego Biurrun <diego@biurrun.de> | 2016-05-11 12:47:55 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2016-05-19 09:55:55 +0200 |
commit | 8131bd4c22ad59b040173f67a5b2edb75863e801 (patch) | |
tree | 3c02b1c4c2e76f19d95b3dfcb1bebf0f411de03f /libavutil/tests | |
parent | a86ef80494d759807a5ef8dd12838f0690092e37 (diff) | |
download | ffmpeg-8131bd4c22ad59b040173f67a5b2edb75863e801.tar.gz |
blowfish-test: Use struct allocation functions from the API
Diffstat (limited to 'libavutil/tests')
-rw-r--r-- | libavutil/tests/blowfish.c | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/libavutil/tests/blowfish.c b/libavutil/tests/blowfish.c index 93e89987de..301c616aa3 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; } |