examples/l2fwd-crypto: fix supported key size check
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Tue, 12 Apr 2016 10:04:03 +0000 (11:04 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 7 Jun 2016 20:21:52 +0000 (22:21 +0200)
When initializing crypto devices within the app,
the provided key sizes are checked against the supported
sizes from the crypto device capabilities.

When the supported sizes are not a range, but a single value,
the check may become an infinite loop (when size is not supported).

Fixes: a061e50a0d97 ("examples/l2fwd-crypto: fix ambiguous input key size")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Tested-by: Min Cao <min.cao@intel.com>
examples/l2fwd-crypto/main.c

index c4cd98d..e539559 100644 (file)
@@ -1489,6 +1489,15 @@ check_supported_size(uint16_t length, uint16_t min, uint16_t max,
 {
        uint16_t supp_size;
 
+       /* Single value */
+       if (increment == 0) {
+               if (length == min)
+                       return 0;
+               else
+                       return -1;
+       }
+
+       /* Range of values */
        for (supp_size = min; supp_size <= max; supp_size += increment) {
                if (length == supp_size)
                        return 0;