aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorJeff Morriss <jeff.morriss@ulticom.com>2011-03-25 20:04:54 +0000
committerJeff Morriss <jeff.morriss@ulticom.com>2011-03-25 20:04:54 +0000
commit38b9f1cfbd77252aac075dbf69939e695638f5e9 (patch)
tree513ebc0ba3d7074e49700a8d00155dee47f1fe93 /epan/dissectors
parentcc6fc23812104d4a075a3beac738c7dcd3ee8e8b (diff)
As suggested by Didier in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3055 :
Apply rev 25869 to some more dissectors. svn path=/trunk/; revision=36333
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-fcip.c10
-rw-r--r--epan/dissectors/packet-iscsi.c4
-rw-r--r--epan/dissectors/packet-ldp.c14
3 files changed, 15 insertions, 13 deletions
diff --git a/epan/dissectors/packet-fcip.c b/epan/dissectors/packet-fcip.c
index 0923c6a075..34e0d4610e 100644
--- a/epan/dissectors/packet-fcip.c
+++ b/epan/dissectors/packet-fcip.c
@@ -189,14 +189,16 @@ NXT_BYTE: while (bytes_remaining) {
if(fcip_desegment && pinfo->can_desegment) {
/*
* This frame doesn't have all of the data for
- * this message, but we can do reassembly on it.
+ * the message header, but we can do reassembly on it.
*
* Tell the TCP dissector where the data for this
- * message starts in the data it handed us, and
- * how many more bytes we need, and return.
+ * message starts in the data it handed us, and that we need
+ * "some more data." Don't tell it exactly how many bytes
+ * we need because if/when we ask for even more (after the
+ * header) that will break reassembly.
*/
pinfo->desegment_offset = offset;
- pinfo->desegment_len = FCIP_ENCAP_HEADER_LEN;
+ pinfo->desegment_len = DESEGMENT_ONE_MORE_SEGMENT;
return -2;
}
}
diff --git a/epan/dissectors/packet-iscsi.c b/epan/dissectors/packet-iscsi.c
index 7688643440..6922c6977c 100644
--- a/epan/dissectors/packet-iscsi.c
+++ b/epan/dissectors/packet-iscsi.c
@@ -1696,11 +1696,11 @@ dissect_iscsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean chec
iscsi_session_t *iscsi_session=NULL;
guint8 opcode, tmpbyte;
- if (available_bytes < 48 ){
+ if (available_bytes < 48) {
/* heuristic already rejected the packet if size < 48,
assume it's an iscsi packet with a segmented header */
pinfo->desegment_offset = offset;
- pinfo->desegment_len = 48 - available_bytes;
+ pinfo->desegment_len = DESEGMENT_ONE_MORE_SEGMENT;
return TRUE;
}
diff --git a/epan/dissectors/packet-ldp.c b/epan/dissectors/packet-ldp.c
index 8b761fc7c0..392c3a3a93 100644
--- a/epan/dissectors/packet-ldp.c
+++ b/epan/dissectors/packet-ldp.c
@@ -2922,13 +2922,14 @@ dissect_ldp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
*/
if (length_remaining < 4) {
/*
- * Yes. Tell the TCP dissector where
- * the data for this message starts in
- * the data it handed us, and how many
- * more bytes we need, and return.
+ * Yes. Tell the TCP dissector where the data for this message
+ * starts in the data it handed us and that we need "some more
+ * data." Don't tell it exactly how many bytes we need because
+ * if/when we ask for even more (after the header) that will
+ * break reassembly.
*/
pinfo->desegment_offset = offset;
- pinfo->desegment_len = 4 - length_remaining;
+ pinfo->desegment_len = DESEGMENT_ONE_MORE_SEGMENT;
return -((gint32) pinfo->desegment_len);
}
}
@@ -2955,8 +2956,7 @@ dissect_ldp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
* need, and return.
*/
pinfo->desegment_offset = offset;
- pinfo->desegment_len =
- (plen + 4) - length_remaining;
+ pinfo->desegment_len = (plen + 4) - length_remaining;
return -((gint32) pinfo->desegment_len);
}
}