aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rtps.c
diff options
context:
space:
mode:
authorJuanjo Martin <juanjo@rti.com>2016-01-05 16:10:04 +0100
committerAnders Broman <a.broman58@gmail.com>2016-01-07 12:37:54 +0000
commitb178e9cc0535629c9d527f9b49161ba01d6c0d96 (patch)
tree04a625345afb10b243a94f4a38a261a0bcdf186f /epan/dissectors/packet-rtps.c
parent5dcce344accf94cd0143879117397fdff5e2def7 (diff)
RTPS: Fixed DATA_BATCH dissection.
The DATA_BATCH dissection contained wrong proto_tree arguments in a few calls. Also, changed the size of a tree from -1 to the actual size. Change-Id: I5f34869a6d231a0bd74c815499b627fe329b6eb0 Reviewed-on: https://code.wireshark.org/review/13059 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-rtps.c')
-rw-r--r--epan/dissectors/packet-rtps.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/epan/dissectors/packet-rtps.c b/epan/dissectors/packet-rtps.c
index 0044b7a41a..6428073520 100644
--- a/epan/dissectors/packet-rtps.c
+++ b/epan/dissectors/packet-rtps.c
@@ -6891,7 +6891,8 @@ static void dissect_RTPS_DATA_BATCH(tvbuff_t *tvb, packet_info *pinfo, gint offs
proto_tree *sil_tree;
sample_info_count = 0;
- sil_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_rtps_sample_info_list, &list_item, "Sample Info List");
+ sil_tree = proto_tree_add_subtree(tree, tvb, offset, octectsToSLEncapsulationId,
+ ett_rtps_sample_info_list, &list_item, "Sample Info List");
/* Allocate sample_info_flags and sample_info_length
* to store a copy of the flags for each sample info */
@@ -6922,7 +6923,7 @@ static void dissect_RTPS_DATA_BATCH(tvbuff_t *tvb, packet_info *pinfo, gint offs
sample_info_flags[sample_info_count] = flags2;
proto_tree_add_bitmask_value(si_tree, tvb, offset, hf_rtps_sm_flags2, ett_rtps_flags, RTPS_SAMPLE_INFO_FLAGS16, flags2);
offset += 2;
- proto_tree_add_item(tree, hf_rtps_data_batch_octets_to_inline_qos, tvb,
+ proto_tree_add_item(si_tree, hf_rtps_data_batch_octets_to_inline_qos, tvb,
offset, 2, little_endian ? ENC_LITTLE_ENDIAN : ENC_BIG_ENDIAN);
offset += 2;
@@ -6939,8 +6940,8 @@ static void dissect_RTPS_DATA_BATCH(tvbuff_t *tvb, packet_info *pinfo, gint offs
/* Serialized data length */
sample_info_length[sample_info_count] = NEXT_guint32(tvb, offset, little_endian);
- proto_tree_add_item(tree, hf_rtps_data_batch_serialized_data_length, tvb,
- offset, 4, sample_info_length[sample_info_count]);
+ proto_tree_add_item(si_tree, hf_rtps_data_batch_serialized_data_length, tvb,
+ offset, 4, little_endian ? ENC_LITTLE_ENDIAN : ENC_BIG_ENDIAN);
offset += 4;
/* Timestamp [only if T==1] */
@@ -6951,7 +6952,7 @@ static void dissect_RTPS_DATA_BATCH(tvbuff_t *tvb, packet_info *pinfo, gint offs
/* Offset SN [only if O==1] */
if ((flags2 & FLAG_SAMPLE_INFO_O) != 0) {
- proto_tree_add_item(tree, hf_rtps_data_batch_offset_sn, tvb,
+ proto_tree_add_item(si_tree, hf_rtps_data_batch_offset_sn, tvb,
offset, 4, little_endian ? ENC_LITTLE_ENDIAN : ENC_BIG_ENDIAN);
offset += 4;
}