Martin Storsjö <[email protected]> writes:

> ---
>  libavutil/blowfish.c |   32 +++++++++++++++++++++-----------
>  1 file changed, 21 insertions(+), 11 deletions(-)
>
> diff --git a/libavutil/blowfish.c b/libavutil/blowfish.c
> index 5df3dfc..35c546a 100644
> --- a/libavutil/blowfish.c
> +++ b/libavutil/blowfish.c
> @@ -522,6 +522,25 @@ 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)) {
> +        int i;
> +        printf("%s failed\ngot      ", test);
> +        for (i = 0; i < 8*len; i++)
> +            printf("%02x ", dst[i]);
> +        printf("\nexpected ");
> +        for (i = 0; i < 8*len; i++)
> +            printf("%02x ", ref[i]);
> +        printf("\n");
> +        exit(1);
> +    }
> +}
> +
>  int main(void)
>  {
>      AVBlowfish ctx;
> @@ -532,17 +551,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");

Some of the arguments to that function seem unnecessary since they are
always the same.

-- 
Måns Rullgård
[email protected]
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to