summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLu Qiuwen <[email protected]>2023-09-14 13:58:14 +0800
committerLu Qiuwen <[email protected]>2023-09-14 13:58:14 +0800
commit744e896e92ea016a9ca4545d053b4ccd8182e41b (patch)
treece93792d987bfd8c4cc8cc5547512df0a1a1e3fe
parent83b04c940717d8d34ca160121729e6b756b90832 (diff)
修正Packet Parser在读取udp和gtp头部时没有判空的问题。v4.6.53-20230915
-rw-r--r--infra/src/ldbc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/infra/src/ldbc.c b/infra/src/ldbc.c
index db66d90..1c2fced 100644
--- a/infra/src/ldbc.c
+++ b/infra/src/ldbc.c
@@ -248,6 +248,10 @@ static void packet_parse_udp(struct pkt_parser * handler, const struct rte_mbuf
struct rte_udp_hdr udp_hdr_copy;
const struct rte_udp_hdr * udp_hdr = rte_pktmbuf_read(mbuf, offset, sizeof(struct rte_udp_hdr), &udp_hdr_copy);
+ if(unlikely(udp_hdr == NULL))
+ {
+ return;
+ }
/* 专用设备VxLAN封装 */
if (udp_hdr->dst_port == RTE_BE16(G_VXLAN_DPORT))
@@ -275,6 +279,10 @@ static void packet_parse_gre(struct pkt_parser * handler, const struct rte_mbuf
struct rte_gre_hdr gre_hdr_copy;
const struct rte_gre_hdr * gre_hdr = rte_pktmbuf_read(mbuf, offset, sizeof(struct rte_gre_hdr), &gre_hdr_copy);
+ if(unlikely(gre_hdr == NULL))
+ {
+ return;
+ }
uint16_t flags = rte_be_to_cpu_16(*(const uint16_t *)gre_hdr);
flags >>= 12;