The af_alg engine and associated test were creating warnings when compiled
with clang. This fixes it.
Reviewed-by: Richard Levitte <levitte@openssl.org>
static const char *engine_afalg_id = "afalg";
static const char *engine_afalg_name = "AFLAG engine support";
static const char *engine_afalg_id = "afalg";
static const char *engine_afalg_name = "AFLAG engine support";
-int afalg_cipher_nids[] = {
+static int afalg_cipher_nids[] = {
# ifdef ALG_ZERO_COPY
int ret;
# endif
# ifdef ALG_ZERO_COPY
int ret;
# endif
+ char cbuf[CMSG_SPACE(ALG_IV_LEN(ALG_AES_IV_LEN)) + CMSG_SPACE(ALG_OP_LEN)];
- const ssize_t cbuf_sz = CMSG_SPACE(ALG_IV_LEN(ALG_AES_IV_LEN))
- + CMSG_SPACE(ALG_OP_LEN);
- char cbuf[cbuf_sz];
-
- memset(cbuf, 0, cbuf_sz);
+ memset(cbuf, 0, sizeof(cbuf));
- msg.msg_controllen = cbuf_sz;
+ msg.msg_controllen = sizeof(cbuf);
/*
* cipher direction (i.e. encrypt or decrypt) and iv are sent to the
/*
* cipher direction (i.e. encrypt or decrypt) and iv are sent to the
#include <string.h>
#ifndef OPENSSL_NO_AFALGENG
#include <string.h>
#ifndef OPENSSL_NO_AFALGENG
+
+/* Use a buffer size which is not aligned to block size */
+#define BUFFER_SIZE (8 * 1024) - 13
+
static int test_afalg_aes_128_cbc(ENGINE *e)
{
EVP_CIPHER_CTX *ctx;
static int test_afalg_aes_128_cbc(ENGINE *e)
{
EVP_CIPHER_CTX *ctx;
\x1D\x83\x27\xDE\xB8\x82\xCF\x99";
unsigned char iv[] = "\x2B\x95\x99\x0A\x91\x51\x37\x4A\
\xBD\x8F\xF8\xC5\xA7\xA0\xFE\x08";
\x1D\x83\x27\xDE\xB8\x82\xCF\x99";
unsigned char iv[] = "\x2B\x95\x99\x0A\x91\x51\x37\x4A\
\xBD\x8F\xF8\xC5\xA7\xA0\xFE\x08";
- /* Use a buffer which is not aligned to block size */
- const int bufsz = (8 * 1024) - 13;
- unsigned char in[bufsz];
- unsigned char ebuf[bufsz + 32];
- unsigned char dbuf[bufsz + 32];
+
+ unsigned char in[BUFFER_SIZE];
+ unsigned char ebuf[BUFFER_SIZE + 32];
+ unsigned char dbuf[BUFFER_SIZE + 32];
int encl, encf, decl, decf;
unsigned int status = 0;
int encl, encf, decl, decf;
unsigned int status = 0;
return 0;
}
EVP_CIPHER_CTX_init(ctx);
return 0;
}
EVP_CIPHER_CTX_init(ctx);
+ RAND_bytes(in, BUFFER_SIZE);
if ( !EVP_CipherInit_ex(ctx, cipher, e, key, iv, 1)
if ( !EVP_CipherInit_ex(ctx, cipher, e, key, iv, 1)
- || !EVP_CipherUpdate(ctx, ebuf, &encl, in, bufsz)
+ || !EVP_CipherUpdate(ctx, ebuf, &encl, in, BUFFER_SIZE)
|| !EVP_CipherFinal_ex(ctx, ebuf+encl, &encf)) {
fprintf(stderr, "%s() failed encryption\n", __func__);
goto end;
|| !EVP_CipherFinal_ex(ctx, ebuf+encl, &encf)) {
fprintf(stderr, "%s() failed encryption\n", __func__);
goto end;
- if ( decl != bufsz
- || memcmp(dbuf, in, bufsz)) {
+ if ( decl != BUFFER_SIZE
+ || memcmp(dbuf, in, BUFFER_SIZE)) {
fprintf(stderr, "%s() failed Dec(Enc(P)) != P\n", __func__);
goto end;
}
fprintf(stderr, "%s() failed Dec(Enc(P)) != P\n", __func__);
goto end;
}