net/bnxt: fix a potential null pointer dereference
authorAjit Khaparde <ajit.khaparde@broadcom.com>
Tue, 24 Oct 2017 21:19:46 +0000 (16:19 -0500)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 26 Oct 2017 00:33:01 +0000 (02:33 +0200)
Fix a potential null pointer reported by Coverity.

Coverity issue: 195001
Fixes: 5ef3b79fdfe6 ("net/bnxt: support flow filter ops")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt_ethdev.c

index 15ef0b2..9065a12 100644 (file)
@@ -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;
 }