From: Konstantin Ananyev Date: Wed, 19 Feb 2020 00:23:02 +0000 (+0000) Subject: ipsec: fix use of uninitialized variable X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=b38aaf173331e931b8aaa4b07ffffc5f5bdc960e;p=dpdk.git ipsec: fix use of uninitialized variable Defects reported by coverity scan uninit_use_in_call: Using uninitialized element of array clen when calling cpu_crypto_bulk. Coverity issue: 354233, 354234 Fixes: 957394f72658 ("ipsec: support CPU crypto mode") Signed-off-by: Konstantin Ananyev Acked-by: Bernard Iremonger --- diff --git a/lib/librte_ipsec/esp_inb.c b/lib/librte_ipsec/esp_inb.c index 7b8ab81f64..96eec0131f 100644 --- a/lib/librte_ipsec/esp_inb.c +++ b/lib/librte_ipsec/esp_inb.c @@ -737,7 +737,9 @@ cpu_inb_pkt_prepare(const struct rte_ipsec_session *ss, move_bad_mbufs(mb, dr, num, num - k); /* convert mbufs to iovecs and do actual crypto/auth processing */ - cpu_crypto_bulk(ss, sa->cofs, mb, iv, aad, dgst, l4ofs, clen, k); + if (k != 0) + cpu_crypto_bulk(ss, sa->cofs, mb, iv, aad, dgst, + l4ofs, clen, k); return k; } diff --git a/lib/librte_ipsec/esp_outb.c b/lib/librte_ipsec/esp_outb.c index b6d9cbe98b..fb9d5864c8 100644 --- a/lib/librte_ipsec/esp_outb.c +++ b/lib/librte_ipsec/esp_outb.c @@ -502,7 +502,9 @@ cpu_outb_pkt_prepare(const struct rte_ipsec_session *ss, move_bad_mbufs(mb, dr, n, n - k); /* convert mbufs to iovecs and do actual crypto/auth processing */ - cpu_crypto_bulk(ss, sa->cofs, mb, iv, aad, dgst, l4ofs, clen, k); + if (k != 0) + cpu_crypto_bulk(ss, sa->cofs, mb, iv, aad, dgst, + l4ofs, clen, k); return k; } diff --git a/lib/librte_ipsec/misc.h b/lib/librte_ipsec/misc.h index 53c0457af5..1b543ed875 100644 --- a/lib/librte_ipsec/misc.h +++ b/lib/librte_ipsec/misc.h @@ -106,7 +106,8 @@ mbuf_cut_seg_ofs(struct rte_mbuf *mb, struct rte_mbuf *ms, uint32_t ofs, } /* - * process packets using sync crypto engine + * process packets using sync crypto engine. + * expects *num* to be greater than zero. */ static inline void cpu_crypto_bulk(const struct rte_ipsec_session *ss,