aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-fcip.c
diff options
context:
space:
mode:
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2005-06-27 08:27:49 +0000
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2005-06-27 08:27:49 +0000
commit83af0185f39173156702ca285db0532c0547a6ae (patch)
tree7ea39da96a98cc65a984a158f7a86d2d6178be43 /epan/dissectors/packet-fcip.c
parent4966853a75007c115f48a984d762c13ee8a27b74 (diff)
some implementations do provide a CRC in the FCIP frame so skip the
'test for zero' check. the heuristics are probably strong enough even without this check. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@14796 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-fcip.c')
-rw-r--r--epan/dissectors/packet-fcip.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/epan/dissectors/packet-fcip.c b/epan/dissectors/packet-fcip.c
index 8e7cd893e7..08a336e733 100644
--- a/epan/dissectors/packet-fcip.c
+++ b/epan/dissectors/packet-fcip.c
@@ -173,7 +173,7 @@ get_next_fcip_header_offset (tvbuff_t *tvb, packet_info *pinfo, gint offset)
* c) Replication of encapsulation word 0 in word 1 (1 test);
* d) Reserved field and its ones complement (2 tests);
* e) Flags field and its ones complement (2 tests);
- * f) CRC field is equal to zero (1 test);
+ * f) CRC field is equal to zero (1 test); (DONT DO THIS TEST!)
* g) SOF fields and ones complement fields (4 tests);
* h) Format and values of FC header (1 test);
* i) CRC of FC Frame (2 tests);
@@ -268,14 +268,12 @@ NXT_BYTE: while (bytes_remaining) {
}
/* Test e */
-
- /* Test f */
- if (tvb_get_ntohl (tvb, offset+24)) {
- /* Failed */
- offset++;
- bytes_remaining--;
- goto NXT_BYTE;
- }
+
+
+ /* Test f
+ * We dont test this since some implementations actually provide
+ * a CRC here.
+ */
if (bytes_remaining >= (frame_len)) {
if (tvb_bytes_exist (tvb, offset+frame_len, 8)) {