Niels,

This is an important bugfix. Current code will just silently skip higher blocks.
Do you want a demonstration/testcase from me?
чт, 20 сент. 2018 г. в 14:32, Dmitry Eremin-Solenikov <dbarysh...@gmail.com>:
>
> If src == dst, ctr16 code will fail to increment src and dst pointers,
> always overwriting first block.
>
> Signed-off-by: Dmitry Eremin-Solenikov <dbarysh...@gmail.com>
> ---
>  ctr16.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/ctr16.c b/ctr16.c
> index 60418e8b9032..7e1c23d20832 100644
> --- a/ctr16.c
> +++ b/ctr16.c
> @@ -91,7 +91,7 @@ _ctr_crypt16(const void *ctx, nettle_cipher_func *f,
>           f(ctx, CTR_BUFFER_LIMIT, buffer->b, buffer->b);
>           if (length - i < CTR_BUFFER_LIMIT)
>             goto done;
> -         memxor3 (dst, src, buffer->b, CTR_BUFFER_LIMIT);
> +         memxor3 (dst + i, src + i, buffer->b, CTR_BUFFER_LIMIT);
>         }
>
>        if (blocks > 0)
> --
> 2.18.0
>


-- 
With best wishes
Dmitry
_______________________________________________
nettle-bugs mailing list
nettle-bugs@lists.lysator.liu.se
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to