From c7a4ff80722e9237a4c504106d21ba5ca27d8df2 Mon Sep 17 00:00:00 2001 From: Helin Zhang Date: Sat, 12 Mar 2016 00:50:58 +0800 Subject: [PATCH] i40e: fix overflow The array 'ptype_table' was defined in depth of 'UINT8_MAX' which is 255, while the querying index could be from 0 to 255. The issue can be fixed with expanding the array to one more element. Fixes: 9571ea028489 ("i40e: replace some offload flags with unified packet type") Signed-off-by: Helin Zhang Acked-by: Wenzhuo Lu --- drivers/net/i40e/i40e_rxtx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 8931b8ea1a..c10eeff93c 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -192,7 +192,7 @@ i40e_get_iee15888_flags(struct rte_mbuf *mb, uint64_t qword) static inline uint32_t i40e_rxd_pkt_type_mapping(uint8_t ptype) { - static const uint32_t ptype_table[UINT8_MAX] __rte_cache_aligned = { + static const uint32_t type_table[UINT8_MAX + 1] __rte_cache_aligned = { /* L2 types */ /* [0] reserved */ [1] = RTE_PTYPE_L2_ETHER, @@ -718,7 +718,7 @@ i40e_rxd_pkt_type_mapping(uint8_t ptype) /* All others reserved */ }; - return ptype_table[ptype]; + return type_table[ptype]; } #define I40E_RX_DESC_EXT_STATUS_FLEXBH_MASK 0x03 -- 2.20.1