From: Ajit Khaparde Date: Tue, 24 Oct 2017 21:19:46 +0000 (-0500) Subject: net/bnxt: fix a potential null pointer dereference X-Git-Tag: spdx-start~1102 X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=1498060ffb60b5faea6c6b01c36780c1732af127 net/bnxt: fix a potential null pointer dereference Fix a potential null pointer reported by Coverity. Coverity issue: 195001 Fixes: 5ef3b79fdfe6 ("net/bnxt: support flow filter ops") Signed-off-by: Ajit Khaparde --- diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 15ef0b2a2a..9065a12dfc 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -1728,10 +1728,12 @@ bnxt_match_and_validate_ether_filter(struct bnxt *bp, RTE_LOG(ERR, PMD, "unsupported ether_type(0x%04x) in" " ethertype filter.", efilter->ether_type); *ret = -EINVAL; + goto exit; } if (efilter->queue >= bp->rx_nr_rings) { RTE_LOG(ERR, PMD, "Invalid queue %d\n", efilter->queue); *ret = -EINVAL; + goto exit; } vnic0 = STAILQ_FIRST(&bp->ff_pool[0]); @@ -1739,6 +1741,7 @@ bnxt_match_and_validate_ether_filter(struct bnxt *bp, if (vnic == NULL) { RTE_LOG(ERR, PMD, "Invalid queue %d\n", efilter->queue); *ret = -EINVAL; + goto exit; } if (efilter->flags & RTE_ETHTYPE_FLAGS_DROP) { @@ -1767,6 +1770,7 @@ bnxt_match_and_validate_ether_filter(struct bnxt *bp, if (match) *ret = -EEXIST; +exit: return mfilter; }