diff options
| author | Lu Qiuwen <[email protected]> | 2023-09-14 13:58:14 +0800 |
|---|---|---|
| committer | Lu Qiuwen <[email protected]> | 2023-09-14 13:58:14 +0800 |
| commit | 744e896e92ea016a9ca4545d053b4ccd8182e41b (patch) | |
| tree | ce93792d987bfd8c4cc8cc5547512df0a1a1e3fe | |
| parent | 83b04c940717d8d34ca160121729e6b756b90832 (diff) | |
修正Packet Parser在读取udp和gtp头部时没有判空的问题。v4.6.53-20230915
| -rw-r--r-- | infra/src/ldbc.c | 8 |
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; |
