Hi, > In line 422 of ip6_tables.c: > protohdr = (u_int32_t *)ipv6 + IPV6_HDR_LEN; > it should be rewroted to: > protohdr = (u_int32_t *)((char *)ipv6 + IPV6_HDR_LEN); The point is Yours! It's a real problem :(
Patch is included against 2.4.18. Regards kisza -- Andras Kis-Szabo Security Development, Design and Audit -------------------------/ Zorp, NetFilter and IPv6 [EMAIL PROTECTED] /---------------------------------------------->
--- linux.old/net/ipv6/netfilter/ip6_tables.c Tue Apr 2 21:47:13 2002 +++ linux/net/ipv6/netfilter/ip6_tables.c Tue Apr 2 21:47:46 2002 @@ -426,7 +426,7 @@ #endif /* Target might have changed stuff. */ ipv6 = (*pskb)->nh.ipv6h; - protohdr = (u_int32_t *)ipv6 + IPV6_HDR_LEN; + protohdr = (u_int32_t *)((char *)ipv6 + IPV6_HDR_LEN); datalen = (*pskb)->len - IPV6_HDR_LEN; if (verdict == IP6T_CONTINUE)