Netdev List
 help / color / mirror / Atom feed
* [PATCH] IPV6: fix data offset calculation when pushing frag options {dst1opts|auth}
@ 2003-07-10 23:44 Thomas Graf
  2003-07-11  0:18 ` YOSHIFUJI Hideaki / 吉藤英明
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Graf @ 2003-07-10 23:44 UTC (permalink / raw)
  To: davem, jmorris, yoshfuji; +Cc: netdev, tgraf

Hello

ip6_append_data:
The offset in the datagram where the payload gets copied
to (transhdrlen) is not calculated correctly: the size
of frag opts {dst1opt|auth} is not taken into account.
This lead to overwritten payload by frag opts.

yoshfuji agreed on this.

patch is against 2.5.75

 -- thomas


Index: net/ipv6/ip6_output.c
===================================================================
RCS file: /cvs/tgr/linux-25/net/ipv6/ip6_output.c,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 ip6_output.c
--- net/ipv6/ip6_output.c	10 Jul 2003 22:58:50 -0000	1.1.1.2
+++ net/ipv6/ip6_output.c	10 Jul 2003 23:36:48 -0000
@@ -1247,11 +1247,9 @@
 		inet->cork.length = 0;
 		inet->sndmsg_page = NULL;
 		inet->sndmsg_off = 0;
-		if ((exthdrlen = rt->u.dst.header_len) != 0) {
-			length += exthdrlen;
-			transhdrlen += exthdrlen;
-		}
-		exthdrlen += opt ? opt->opt_flen : 0;
+		exthdrlen = rt->u.dst.header_len + opt ? opt->opt_flen : 0;
+		length += exthdrlen;
+		transhdrlen += exthdrlen;
 	} else {
 		rt = np->cork.rt;
 		if (inet->cork.flags & IPCORK_OPT)

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-07-11  0:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-07-10 23:44 [PATCH] IPV6: fix data offset calculation when pushing frag options {dst1opts|auth} Thomas Graf
2003-07-11  0:18 ` YOSHIFUJI Hideaki / 吉藤英明
2003-07-11  0:24   ` YOSHIFUJI Hideaki / 吉藤英明
2003-07-11  0:18     ` David S. Miller
2003-07-11  0:27   ` Thomas Graf
2003-07-11  0:22     ` David S. Miller
2003-07-11  0:32       ` Thomas Graf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox