The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following error:
CC rte_lpm6.o rte_lpm6.c: In function ‘rte_lpm6_add_v1705’: rte_lpm6.c:442:11: error: ‘tbl_next’ may be used uninitialized in this function [-Werror=maybe-uninitialized] if (!tbl[tbl_index].valid) { ^ rte_lpm6.c:521:29: note: ‘tbl_next’ was declared here struct rte_lpm6_tbl_entry *tbl_next; ^~~~~~~~ This is a false positive from gcc. Fix it by initializing tbl_next to NULL. Signed-off-by: Olivier Matz <olivier.m...@6wind.com> --- lib/librte_lpm/rte_lpm6.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c index b4a7df348..f9496fe1b 100644 --- a/lib/librte_lpm/rte_lpm6.c +++ b/lib/librte_lpm/rte_lpm6.c @@ -518,7 +518,7 @@ rte_lpm6_add_v1705(struct rte_lpm6 *lpm, uint8_t *ip, uint8_t depth, uint32_t next_hop) { struct rte_lpm6_tbl_entry *tbl; - struct rte_lpm6_tbl_entry *tbl_next; + struct rte_lpm6_tbl_entry *tbl_next = NULL; int32_t rule_index; int status; uint8_t masked_ip[RTE_LPM6_IPV6_ADDR_SIZE]; -- 2.11.0