浏览代码

[PATCH] missing ntohs() in ip6_tunnel

->payload_len is net-endian

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 19 年之前
父节点
当前提交
cc6cdac0cf
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      net/ipv6/ip6_tunnel.c

+ 1 - 1
net/ipv6/ip6_tunnel.c

@@ -458,7 +458,7 @@ ip6ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
 			mtu = IPV6_MIN_MTU;
 		t->dev->mtu = mtu;
 
-		if ((len = sizeof (*ipv6h) + ipv6h->payload_len) > mtu) {
+		if ((len = sizeof (*ipv6h) + ntohs(ipv6h->payload_len)) > mtu) {
 			rel_type = ICMPV6_PKT_TOOBIG;
 			rel_code = 0;
 			rel_info = mtu;