From 37ebd9e12dd585a9472c254499135fedabf5aa06 Mon Sep 17 00:00:00 2001 From: Pablo de Lara Date: Tue, 12 Apr 2016 11:04:03 +0100 Subject: [PATCH] examples/l2fwd-crypto: fix supported key size check 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 Tested-by: Min Cao --- examples/l2fwd-crypto/main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c index c4cd98da64..e539559ab4 100644 --- a/examples/l2fwd-crypto/main.c +++ b/examples/l2fwd-crypto/main.c @@ -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; -- 2.20.1