Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Bœsch <clement@stupeflix.com>2016-06-24 12:14:23 +0300
committerClément Bœsch <clement@stupeflix.com>2016-06-24 12:14:23 +0300
commitb6310ab6b5bf9210b0e416d83d65137b0a3ce709 (patch)
treeb2ac4cf79012c175ea04ff79f552e8546453fea1 /libavutil
parent1ca383c8d4e8f48d12b7ab0ba8355534f33f5087 (diff)
parent8131bd4c22ad59b040173f67a5b2edb75863e801 (diff)
Merge commit '8131bd4c22ad59b040173f67a5b2edb75863e801'
* commit '8131bd4c22ad59b040173f67a5b2edb75863e801': blowfish-test: Use struct allocation functions from the API Merged-by: Clément Bœsch <clement@stupeflix.com>
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/tests/blowfish.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/libavutil/tests/blowfish.c b/libavutil/tests/blowfish.c
index 0f76a85b92..f4c9ced9b4 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;
}