Dmitry Eremin-Solenikov <[email protected]> writes:

> For benchmarking purposes provide wrappers around OpenSSL AES GCM
> implementation. Note, digest callback will work only for encryption due
> to OpenSSL internals.

This patch and the next now merged to master-updates.

> @@ -80,7 +80,7 @@ openssl_evp_set_encrypt_key(void *p, const uint8_t *key,
>  {
>    struct openssl_cipher_ctx *ctx = p;
>    ctx->evp = EVP_CIPHER_CTX_new();
> -  assert(EVP_EncryptInit_ex(ctx->evp, cipher, NULL, key, NULL) == 1);
> +  assert(EVP_CipherInit_ex(ctx->evp, cipher, NULL, key, NULL, 1) == 1);
>    EVP_CIPHER_CTX_set_padding(ctx->evp, 0);
>  }

It's not right to use assert on expressions with side-effects. Since will
break builds with ./configure CFLAGS='-DNDEBUG'. 

One would need to either assign return value to a variable and assert on
that, or define some alternative assert-like makro which always
evaluates its argument.

Not a big problem if only in the benchmark code, but it should be
avoided. It was introduced earlier, in commit
https://git.lysator.liu.se/nettle/nettle/commit/5c78bb737c553f2064271f1a7c4768b88a09b665,
but I didn't notice at the time.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to