From 9d360e93cb2688f3fb8c37fd8e76e2a02e2d12bd Mon Sep 17 00:00:00 2001 From: Duncan Roe Date: Sun, 26 Jan 2020 15:02:02 +1100 Subject: Simplify struct pkt_buff: remove tail In struct pkt_buff, we only ever needed any 2 of len, data and tail. This has caused bugs in the past, e.g. commit 8a4316f31. Delete tail, and where the value of pktb->tail was required, use new pktb_tail() function. Signed-off-by: Duncan Roe Signed-off-by: Pablo Neira Ayuso --- src/extra/udp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/extra/udp.c') diff --git a/src/extra/udp.c b/src/extra/udp.c index dc476d4..f232127 100644 --- a/src/extra/udp.c +++ b/src/extra/udp.c @@ -46,7 +46,7 @@ struct udphdr *nfq_udp_get_hdr(struct pkt_buff *pktb) return NULL; /* No room for the UDP header. */ - if (pktb->tail - pktb->transport_header < sizeof(struct udphdr)) + if (pktb_tail(pktb) - pktb->transport_header < sizeof(struct udphdr)) return NULL; return (struct udphdr *)pktb->transport_header; @@ -68,7 +68,7 @@ void *nfq_udp_get_payload(struct udphdr *udph, struct pkt_buff *pktb) return NULL; /* malformed UDP packet. */ - if (pktb->transport_header + len > pktb->tail) + if (pktb->transport_header + len > pktb_tail(pktb)) return NULL; return pktb->transport_header + sizeof(struct udphdr); @@ -83,7 +83,7 @@ void *nfq_udp_get_payload(struct udphdr *udph, struct pkt_buff *pktb) EXPORT_SYMBOL unsigned int nfq_udp_get_payload_len(struct udphdr *udph, struct pkt_buff *pktb) { - return pktb->tail - pktb->transport_header - sizeof(struct udphdr); + return pktb_tail(pktb) - pktb->transport_header - sizeof(struct udphdr); } /** -- cgit v1.2.3