aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2004-03-23 01:58:19 +0000
committerGuy Harris <guy@alum.mit.edu>2004-03-23 01:58:19 +0000
commit0611e105e86c4f73432130c4aeeb6d329c205859 (patch)
treea6b88945b9325dee5bb5bd2fef2c1ee8147f3237
parent84575bd1604fe9d6e42576f5bcec71ee3bbe1f4c (diff)
The "len" argument to capture routines should not be decremented as you
move through the packet - it's the total length of captured data. svn path=/trunk/; revision=10448
-rw-r--r--packet-ipv6.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/packet-ipv6.c b/packet-ipv6.c
index a065227fc8..647770d1aa 100644
--- a/packet-ipv6.c
+++ b/packet-ipv6.c
@@ -1,7 +1,7 @@
/* packet-ipv6.c
* Routines for IPv6 packet disassembly
*
- * $Id: packet-ipv6.c,v 1.101 2004/01/21 08:39:29 guy Exp $
+ * $Id: packet-ipv6.c,v 1.102 2004/03/23 01:58:19 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -124,7 +124,6 @@ capture_ipv6(const guchar *pd, int offset, int len, packet_counts *ld)
}
nxt = pd[offset+6]; /* get the "next header" value */
offset += 4+4+16+16; /* skip past the IPv6 header */
- len -= 4+4+16+16;
again:
switch (nxt) {
@@ -142,7 +141,6 @@ again:
return;
}
offset += advance;
- len -= advance;
goto again;
case IP_PROTO_FRAGMENT:
if (!BYTES_ARE_IN_FRAME(offset, len, 2)) {
@@ -156,7 +154,6 @@ again:
return;
}
offset += advance;
- len -= advance;
goto again;
case IP_PROTO_AH:
if (!BYTES_ARE_IN_FRAME(offset, len, 2)) {
@@ -170,7 +167,6 @@ again:
return;
}
offset += advance;
- len -= advance;
goto again;
}