app/crypto-perf: fix big parameter passed by value
authorJacek Piasecki <jacekx.piasecki@intel.com>
Wed, 8 Feb 2017 16:04:40 +0000 (17:04 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Fri, 10 Feb 2017 15:04:26 +0000 (16:04 +0100)
Structure opts and structure test_vec are now passed by  pointer to
the cperf_check_test_vector.

Coverity issue: 141072
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Jacek Piasecki <jacekx.piasecki@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
app/test-crypto-perf/main.c

index 6c128d8..634ea5f 100644 (file)
@@ -162,94 +162,94 @@ cperf_verify_devices_capabilities(struct cperf_options *opts,
 }
 
 static int
-cperf_check_test_vector(struct cperf_options opts,
-               struct cperf_test_vector test_vec)
+cperf_check_test_vector(struct cperf_options *opts,
+               struct cperf_test_vector *test_vec)
 {
-       if (opts.op_type == CPERF_CIPHER_ONLY) {
-               if (opts.cipher_algo == RTE_CRYPTO_CIPHER_NULL) {
-                       if (test_vec.plaintext.data == NULL)
+       if (opts->op_type == CPERF_CIPHER_ONLY) {
+               if (opts->cipher_algo == RTE_CRYPTO_CIPHER_NULL) {
+                       if (test_vec->plaintext.data == NULL)
                                return -1;
-               } else if (opts.cipher_algo != RTE_CRYPTO_CIPHER_NULL) {
-                       if (test_vec.plaintext.data == NULL)
+               } else if (opts->cipher_algo != RTE_CRYPTO_CIPHER_NULL) {
+                       if (test_vec->plaintext.data == NULL)
                                return -1;
-                       if (test_vec.plaintext.length != opts.buffer_sz)
+                       if (test_vec->plaintext.length != opts->buffer_sz)
                                return -1;
-                       if (test_vec.ciphertext.data == NULL)
+                       if (test_vec->ciphertext.data == NULL)
                                return -1;
-                       if (test_vec.ciphertext.length != opts.buffer_sz)
+                       if (test_vec->ciphertext.length != opts->buffer_sz)
                                return -1;
-                       if (test_vec.iv.data == NULL)
+                       if (test_vec->iv.data == NULL)
                                return -1;
-                       if (test_vec.iv.length != opts.cipher_iv_sz)
+                       if (test_vec->iv.length != opts->cipher_iv_sz)
                                return -1;
-                       if (test_vec.cipher_key.data == NULL)
+                       if (test_vec->cipher_key.data == NULL)
                                return -1;
-                       if (test_vec.cipher_key.length != opts.cipher_key_sz)
+                       if (test_vec->cipher_key.length != opts->cipher_key_sz)
                                return -1;
                }
-       } else if (opts.op_type == CPERF_AUTH_ONLY) {
-               if (opts.auth_algo != RTE_CRYPTO_AUTH_NULL) {
-                       if (test_vec.plaintext.data == NULL)
+       } else if (opts->op_type == CPERF_AUTH_ONLY) {
+               if (opts->auth_algo != RTE_CRYPTO_AUTH_NULL) {
+                       if (test_vec->plaintext.data == NULL)
                                return -1;
-                       if (test_vec.plaintext.length != opts.buffer_sz)
+                       if (test_vec->plaintext.length != opts->buffer_sz)
                                return -1;
-                       if (test_vec.auth_key.data == NULL)
+                       if (test_vec->auth_key.data == NULL)
                                return -1;
-                       if (test_vec.auth_key.length != opts.auth_key_sz)
+                       if (test_vec->auth_key.length != opts->auth_key_sz)
                                return -1;
-                       if (test_vec.digest.data == NULL)
+                       if (test_vec->digest.data == NULL)
                                return -1;
-                       if (test_vec.digest.length != opts.auth_digest_sz)
+                       if (test_vec->digest.length != opts->auth_digest_sz)
                                return -1;
                }
 
-       } else if (opts.op_type == CPERF_CIPHER_THEN_AUTH ||
-                       opts.op_type == CPERF_AUTH_THEN_CIPHER) {
-               if (opts.cipher_algo == RTE_CRYPTO_CIPHER_NULL) {
-                       if (test_vec.plaintext.data == NULL)
+       } else if (opts->op_type == CPERF_CIPHER_THEN_AUTH ||
+                       opts->op_type == CPERF_AUTH_THEN_CIPHER) {
+               if (opts->cipher_algo == RTE_CRYPTO_CIPHER_NULL) {
+                       if (test_vec->plaintext.data == NULL)
                                return -1;
-                       if (test_vec.plaintext.length != opts.buffer_sz)
+                       if (test_vec->plaintext.length != opts->buffer_sz)
                                return -1;
-               } else if (opts.cipher_algo != RTE_CRYPTO_CIPHER_NULL) {
-                       if (test_vec.plaintext.data == NULL)
+               } else if (opts->cipher_algo != RTE_CRYPTO_CIPHER_NULL) {
+                       if (test_vec->plaintext.data == NULL)
                                return -1;
-                       if (test_vec.plaintext.length != opts.buffer_sz)
+                       if (test_vec->plaintext.length != opts->buffer_sz)
                                return -1;
-                       if (test_vec.ciphertext.data == NULL)
+                       if (test_vec->ciphertext.data == NULL)
                                return -1;
-                       if (test_vec.ciphertext.length != opts.buffer_sz)
+                       if (test_vec->ciphertext.length != opts->buffer_sz)
                                return -1;
-                       if (test_vec.iv.data == NULL)
+                       if (test_vec->iv.data == NULL)
                                return -1;
-                       if (test_vec.iv.length != opts.cipher_iv_sz)
+                       if (test_vec->iv.length != opts->cipher_iv_sz)
                                return -1;
-                       if (test_vec.cipher_key.data == NULL)
+                       if (test_vec->cipher_key.data == NULL)
                                return -1;
-                       if (test_vec.cipher_key.length != opts.cipher_key_sz)
+                       if (test_vec->cipher_key.length != opts->cipher_key_sz)
                                return -1;
                }
-               if (opts.auth_algo != RTE_CRYPTO_AUTH_NULL) {
-                       if (test_vec.auth_key.data == NULL)
+               if (opts->auth_algo != RTE_CRYPTO_AUTH_NULL) {
+                       if (test_vec->auth_key.data == NULL)
                                return -1;
-                       if (test_vec.auth_key.length != opts.auth_key_sz)
+                       if (test_vec->auth_key.length != opts->auth_key_sz)
                                return -1;
-                       if (test_vec.digest.data == NULL)
+                       if (test_vec->digest.data == NULL)
                                return -1;
-                       if (test_vec.digest.length != opts.auth_digest_sz)
+                       if (test_vec->digest.length != opts->auth_digest_sz)
                                return -1;
                }
-       } else if (opts.op_type == CPERF_AEAD) {
-               if (test_vec.plaintext.data == NULL)
+       } else if (opts->op_type == CPERF_AEAD) {
+               if (test_vec->plaintext.data == NULL)
                        return -1;
-               if (test_vec.plaintext.length != opts.buffer_sz)
+               if (test_vec->plaintext.length != opts->buffer_sz)
                        return -1;
-               if (test_vec.aad.data == NULL)
+               if (test_vec->aad.data == NULL)
                        return -1;
-               if (test_vec.aad.length != opts.auth_aad_sz)
+               if (test_vec->aad.length != opts->auth_aad_sz)
                        return -1;
-               if (test_vec.digest.data == NULL)
+               if (test_vec->digest.data == NULL)
                        return -1;
-               if (test_vec.digest.length != opts.auth_digest_sz)
+               if (test_vec->digest.length != opts->auth_digest_sz)
                        return -1;
        }
        return 0;
@@ -320,7 +320,7 @@ main(int argc, char **argv)
                        goto err;
                }
 
-               if (cperf_check_test_vector(opts, *t_vec)) {
+               if (cperf_check_test_vector(&opts, t_vec)) {
                        RTE_LOG(ERR, USER1, "Incomplete necessary test vectors"
                                        "\n");
                        goto err;