summaryrefslogtreecommitdiffstats
path: root/sys/netgraph
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2006-12-12 12:35:06 +0000
committerglebius <glebius@FreeBSD.org>2006-12-12 12:35:06 +0000
commita6aa94d334c52778958c4caa238d3836497074fb (patch)
treec06a81d0bb9cea47c91b21476a518012ca02f8f5 /sys/netgraph
parent297206ec2ac5b34686aaf531476b1b737df9bbd7 (diff)
downloadFreeBSD-src-a6aa94d334c52778958c4caa238d3836497074fb.zip
FreeBSD-src-a6aa94d334c52778958c4caa238d3836497074fb.tar.gz
Correctly calculate length of IP header.
Submitted by: Eugene Hartmann <eugene tpsb.com.ru>
Diffstat (limited to 'sys/netgraph')
-rw-r--r--sys/netgraph/ng_nat.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netgraph/ng_nat.c b/sys/netgraph/ng_nat.c
index f5abdfb..4271e2d 100644
--- a/sys/netgraph/ng_nat.c
+++ b/sys/netgraph/ng_nat.c
@@ -246,7 +246,8 @@ ng_nat_rcvdata(hook_p hook, item_p item )
if ((ip->ip_off & htons(IP_OFFMASK)) == 0 &&
ip->ip_p == IPPROTO_TCP) {
- struct tcphdr *th = (struct tcphdr *)(ip + 1);
+ struct tcphdr *th = (struct tcphdr *)((caddr_t)ip +
+ (ip->ip_hl << 2));
/*
* Here is our terrible HACK.
OpenPOWER on IntegriCloud