> 
> From: Gagandeep Singh <[email protected]>
> 
> If no next segment available the “for” loop will fail and it still
> returns i+1 i.e. 2, which is wrong as it has filled only 1 buffer.
> 
> Fixes: 7adf992fb9bf ("cryptodev: introduce CPU crypto API")
> Cc: [email protected]
> Cc: [email protected]
> 
> Signed-off-by: Gagandeep Singh <[email protected]>
> ---
>  lib/cryptodev/rte_crypto_sym.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h
> index b6a229e263..dc88ad6dcc 100644
> --- a/lib/cryptodev/rte_crypto_sym.h
> +++ b/lib/cryptodev/rte_crypto_sym.h
> @@ -1004,6 +1004,7 @@ rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, 
> uint32_t ofs, uint32_t len,
>                       vec[i].tot_len = mb->buf_len - rte_pktmbuf_headroom(mb)
>                                       - ofs;
>                       left = 0;
> +                     i++;
>                       break;
>               }
> 
> @@ -1014,7 +1015,7 @@ rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, 
> uint32_t ofs, uint32_t len,
>       }
> 
>       RTE_ASSERT(left == 0);
> -     return i + 1;
> +     return i;
>  }
> 
> 
> --

Acked-by: Konstantin Ananyev <[email protected]>

> 2.17.1

Reply via email to