]> git.droids-corp.org - dpdk.git/commitdiff
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 9ac06a697d9d6022447ffbd2124e30ed77591b1b..dc97a9b409c848e1edcb8b6017760dd2bac18203 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.