summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Morriss <jeff.morriss.ws@gmail.com>2014-09-11 14:10:55 -0400
committerJeff Morriss <jeff.morriss.ws@gmail.com>2014-09-11 18:13:39 +0000
commit6e81f1d18ce1209435c81df215e6bf1de5cf830b (patch)
tree77c2a9f16b7c106f9948e194c71af24c80a34657
parenta8fabb94b6958ad66761d9346862bab402ab949e (diff)
downloadwireshark-6e81f1d18ce1209435c81df215e6bf1de5cf830b.tar.gz
Don't use tvb_bytes_exist() to check if we captured the whole frame, just
compare captured_length to reported_length (which we've already retrieved anyway). Replace calls to tvb_length() with non-deprecated versions. Change-Id: I9f6f3461915573fb21716a87cb6af416a3656097 Reviewed-on: https://code.wireshark.org/review/4080 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
-rw-r--r--epan/dissectors/packet-sctp.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/epan/dissectors/packet-sctp.c b/epan/dissectors/packet-sctp.c
index e1f41b559e..428bf5978c 100644
--- a/epan/dissectors/packet-sctp.c
+++ b/epan/dissectors/packet-sctp.c
@@ -2726,14 +2726,14 @@ add_fragment(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 tsn,
}
/* There is no point in storing a fragment with no data in it */
- if (tvb_length(tvb) == 0)
+ if (tvb_captured_length(tvb) == 0)
return NULL;
/* create new fragment */
fragment = (sctp_fragment *)g_malloc (sizeof (sctp_fragment));
fragment->frame_num = pinfo->fd->num;
fragment->tsn = tsn;
- fragment->len = tvb_length(tvb);
+ fragment->len = tvb_captured_length(tvb);
fragment->next = NULL;
fragment->data = (unsigned char *)g_malloc (fragment->len);
tvb_memcpy(tvb, fragment->data, 0, fragment->len);
@@ -3162,7 +3162,7 @@ dissect_fragmented_payload(tvbuff_t *payload_tvb, packet_info *pinfo, proto_tree
* If this is a short frame, then we can't, and don't, do
* reassembly on it. We just give up.
*/
- if (tvb_reported_length(payload_tvb) > tvb_length(payload_tvb))
+ if (tvb_reported_length(payload_tvb) > tvb_captured_length(payload_tvb))
return TRUE;
/* add fragement to list of known fragments. returns NULL if segment is a duplicate */
@@ -4402,7 +4402,7 @@ dissect_sctp_packet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolea
{
guint32 checksum = 0, calculated_crc32c = 0, calculated_adler32 = 0;
guint16 source_port, destination_port;
- guint length, reported_length;
+ guint captured_length, reported_length;
gboolean crc32c_correct = FALSE, adler32_correct = FALSE;
proto_item *sctp_item, *hidden_item, *item;
proto_tree *sctp_tree;
@@ -4410,33 +4410,33 @@ dissect_sctp_packet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolea
sctp_half_assoc_t *ha = NULL;
proto_item *pi, *vt = NULL;
- length = tvb_length(tvb);
+ captured_length = tvb_captured_length(tvb);
reported_length = tvb_reported_length(tvb);
checksum = tvb_get_ntohl(tvb, CHECKSUM_OFFSET);
sctp_info.checksum_zero = (checksum == 0);
/* Only try to checksum the packet if we have all of it */
- if (tvb_bytes_exist(tvb, 0, reported_length)) {
+ if (captured_length == reported_length) {
switch(sctp_checksum) {
case SCTP_CHECKSUM_NONE:
break;
case SCTP_CHECKSUM_ADLER32:
- calculated_adler32 = sctp_adler32(tvb, length);
+ calculated_adler32 = sctp_adler32(tvb, captured_length);
adler32_correct = (checksum == calculated_adler32);
sctp_info.adler32_calculated = TRUE;
sctp_info.adler32_correct = adler32_correct;
break;
case SCTP_CHECKSUM_CRC32C:
- calculated_crc32c = sctp_crc32c(tvb, length);
+ calculated_crc32c = sctp_crc32c(tvb, captured_length);
crc32c_correct = (checksum == calculated_crc32c);
sctp_info.crc32c_calculated = TRUE;
sctp_info.crc32c_correct = crc32c_correct;
break;
case SCTP_CHECKSUM_AUTOMATIC:
- calculated_adler32 = sctp_adler32(tvb, length);
+ calculated_adler32 = sctp_adler32(tvb, captured_length);
adler32_correct = (checksum == calculated_adler32);
- calculated_crc32c = sctp_crc32c(tvb, length);
+ calculated_crc32c = sctp_crc32c(tvb, captured_length);
crc32c_correct = (checksum == calculated_crc32c);
sctp_info.adler32_calculated = TRUE;
sctp_info.adler32_correct = adler32_correct;
@@ -4480,7 +4480,7 @@ dissect_sctp_packet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolea
sctp_item = NULL;
}
- if (tvb_bytes_exist(tvb, 0, reported_length)) {
+ if (captured_length == reported_length) {
/* We have the whole packet */
switch(sctp_checksum) {