summaryrefslogtreecommitdiffstats
path: root/src/extra/udp.c
diff options
context:
space:
mode:
authorDuncan Roe <duncan_roe@optusnet.com.au>2020-01-26 15:02:02 +1100
committerPablo Neira Ayuso <pablo@netfilter.org>2020-01-29 18:36:32 +0100
commit9d360e93cb2688f3fb8c37fd8e76e2a02e2d12bd (patch)
treedc26fca2742bad9dfca16fea4af068ed5ac6175e /src/extra/udp.c
parentba3a63eefbfeeafc95cb401777ba049af32a2b4d (diff)
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 <duncan_roe@optusnet.com.au> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/extra/udp.c')
-rw-r--r--src/extra/udp.c6
1 files changed, 3 insertions, 3 deletions
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);
}
/**