examples/l2fwd-crypto: check return value on IV size check
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 19 Jul 2018 08:39:55 +0000 (09:39 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Mon, 23 Jul 2018 23:48:10 +0000 (01:48 +0200)
IV size parameter is checked through a function,
but its return value was not checked.

Fixes: 0fbd75a99fc9 ("cryptodev: move IV parameters to session")
Fixes: acf8616901b5 ("cryptodev: add auth IV")
Fixes: 2661f4fbe93d ("examples/l2fwd-crypto: add AEAD parameters")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
examples/l2fwd-crypto/main.c

index 9ac06a6..dc97a9b 100644 (file)
@@ -2066,10 +2066,11 @@ initialize_cryptodevs(struct l2fwd_crypto_options *options, unsigned nb_ports,
 
                        options->block_size = cap->sym.aead.block_size;
 
-                       check_iv_param(&cap->sym.aead.iv_size,
+                       if (check_iv_param(&cap->sym.aead.iv_size,
                                        options->aead_iv_param,
                                        options->aead_iv_random_size,
-                                       &options->aead_iv.length);
+                                       &options->aead_iv.length) < 0)
+                               return -1;
 
                        /*
                         * Check if length of provided AEAD key is supported
@@ -2174,10 +2175,11 @@ initialize_cryptodevs(struct l2fwd_crypto_options *options, unsigned nb_ports,
 
                        options->block_size = cap->sym.cipher.block_size;
 
-                       check_iv_param(&cap->sym.cipher.iv_size,
+                       if (check_iv_param(&cap->sym.cipher.iv_size,
                                        options->cipher_iv_param,
                                        options->cipher_iv_random_size,
-                                       &options->cipher_iv.length);
+                                       &options->cipher_iv.length) < 0)
+                               return -1;
 
                        /*
                         * Check if length of provided cipher key is supported
@@ -2230,10 +2232,11 @@ initialize_cryptodevs(struct l2fwd_crypto_options *options, unsigned nb_ports,
                        if (cap == NULL)
                                continue;
 
-                       check_iv_param(&cap->sym.auth.iv_size,
+                       if (check_iv_param(&cap->sym.auth.iv_size,
                                        options->auth_iv_param,
                                        options->auth_iv_random_size,
-                                       &options->auth_iv.length);
+                                       &options->auth_iv.length) < 0)
+                               return -1;
                        /*
                         * Check if length of provided auth key is supported
                         * by the algorithm chosen.