---
libavutil/blowfish.c | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/libavutil/blowfish.c b/libavutil/blowfish.c
index 5df3dfc..5a0bc10 100644
--- a/libavutil/blowfish.c
+++ b/libavutil/blowfish.c
@@ -522,6 +522,18 @@ static const uint8_t ciphertext[8] = {
0x32, 0x4E, 0xD0, 0xFE, 0xF4, 0x13, 0xA2, 0x03
};
+#undef exit
+static void test_blowfish(AVBlowfish *ctx, uint8_t *dst, const uint8_t *src,
+ const uint8_t *ref, int len, uint8_t *iv, int dir,
+ const char *test)
+{
+ av_blowfish_crypt(ctx, dst, src, len, iv, dir);
+ if (memcmp(dst, ref, 8*len)) {
+ printf("%s failed\n", test);
+ exit(1);
+ }
+}
+
int main(void)
{
AVBlowfish ctx;
@@ -532,17 +544,8 @@ int main(void)
av_blowfish_init(&ctx, "abcdefghijklmnopqrstuvwxyz", 26);
- av_blowfish_crypt(&ctx, tmp, plaintext, 1, NULL, 0);
- if (memcmp(tmp, ciphertext, 8)) {
- printf("Test encryption failed.\n");
- return 1;
- }
-
- av_blowfish_crypt(&ctx, tmp, ciphertext, 1, NULL, 1);
- if (memcmp(tmp, plaintext, 8)) {
- printf("Test decryption failed.\n");
- return 1;
- }
+ test_blowfish(&ctx, tmp, plaintext, ciphertext, 1, NULL, 0, "encryption");
+ test_blowfish(&ctx, tmp, ciphertext, plaintext, 1, NULL, 1, "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);
--
1.7.9.4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel