Fix some clang warnings
authorMatt Caswell <matt@openssl.org>
Mon, 7 Mar 2016 12:36:20 +0000 (12:36 +0000)
committerMatt Caswell <matt@openssl.org>
Mon, 7 Mar 2016 13:36:17 +0000 (13:36 +0000)
The af_alg engine and associated test were creating warnings when compiled
with clang. This fixes it.

Reviewed-by: Richard Levitte <levitte@openssl.org>
engines/afalg/e_afalg.c
test/afalgtest.c

index 30a5e38..d4b4f6b 100644 (file)
@@ -129,7 +129,7 @@ static int afalg_chk_platform(void);
 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[] = {
     NID_aes_128_cbc
 };
 
@@ -445,14 +445,11 @@ static int afalg_start_cipher_sk(afalg_ctx *actx, const unsigned char *in,
 # 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_control = cbuf;
-    msg.msg_controllen = cbuf_sz;
+    msg.msg_controllen = sizeof(cbuf);
 
     /*
      * cipher direction (i.e. encrypt or decrypt) and iv are sent to the
index 1013fe0..c15e111 100644 (file)
 #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;
@@ -66,11 +70,10 @@ static int test_afalg_aes_128_cbc(ENGINE *e)
                            \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;
 
@@ -80,10 +83,10 @@ static int test_afalg_aes_128_cbc(ENGINE *e)
         return 0;
     }
     EVP_CIPHER_CTX_init(ctx);
-    RAND_bytes(in, bufsz);
+    RAND_bytes(in, BUFFER_SIZE);
 
     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;
@@ -99,8 +102,8 @@ static int test_afalg_aes_128_cbc(ENGINE *e)
     }
     decl += decf;
 
-    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;
     }