]> git.droids-corp.org - dpdk.git/commitdiff
lpm6: fix possible garbage in lookup
authorDaniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Wed, 27 Apr 2016 15:07:53 +0000 (17:07 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 2 May 2016 13:15:45 +0000 (15:15 +0200)
Fix issue reported by clang scan-build

Value of pointer tbl_next was uninitialized. When function lookup_step()
take else branch it may provide garbage into tbl = tbl_next;

Fixes: 5c510e13a9cb ("lpm: add IPv6 support")
Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
lib/librte_lpm/rte_lpm6.c

index ba4353cedfdf1c807f5a6a578e9aa22aa4e16a68..32fdba01e8d532bf4007a41aac2e2adc55a22a0f 100644 (file)
@@ -601,7 +601,7 @@ int
 rte_lpm6_lookup(const struct rte_lpm6 *lpm, uint8_t *ip, uint8_t *next_hop)
 {
        const struct rte_lpm6_tbl_entry *tbl;
-       const struct rte_lpm6_tbl_entry *tbl_next;
+       const struct rte_lpm6_tbl_entry *tbl_next = NULL;
        int status;
        uint8_t first_byte;
        uint32_t tbl24_index;
@@ -636,7 +636,7 @@ rte_lpm6_lookup_bulk_func(const struct rte_lpm6 *lpm,
 {
        unsigned i;
        const struct rte_lpm6_tbl_entry *tbl;
-       const struct rte_lpm6_tbl_entry *tbl_next;
+       const struct rte_lpm6_tbl_entry *tbl_next = NULL;
        uint32_t tbl24_index;
        uint8_t first_byte, next_hop;
        int status;