diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2017-12-24 08:29:50 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-01-02 05:29:39 +0000 |
commit | 0bde3e96f0c51ed141e94ae82eed24f1a38f712c (patch) | |
tree | 0518754ff0e74439b6e345eea50a0dd32ff131a5 /epan/dissectors/packet-protobuf.c | |
parent | af6dee35715a4079acaa7d9a413b6f7d859c8c8b (diff) |
Add ENC_VARINT_QUIC
Used to support variable length in QUIC protocol
Bug: 13881
Change-Id: Ia274b1530152376c5fb4e364fc4cf5ab246be1b3
Reviewed-on: https://code.wireshark.org/review/24990
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Craig Jackson <cejackson51@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-protobuf.c')
-rw-r--r-- | epan/dissectors/packet-protobuf.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/epan/dissectors/packet-protobuf.c b/epan/dissectors/packet-protobuf.c index 6a4e27de23..ee18f66f28 100644 --- a/epan/dissectors/packet-protobuf.c +++ b/epan/dissectors/packet-protobuf.c @@ -225,7 +225,7 @@ dissect_packed_repeated_field_values(proto_tree *value_tree, tvbuff_t *tvb, guin /* add varints into the packed-repeated subtree */ while (offset < max_offset) { - sub_value_length = tvb_get_varint(tvb, offset, max_offset - offset, &sub_value); + sub_value_length = tvb_get_varint(tvb, offset, max_offset - offset, &sub_value, ENC_VARINT_PROTOBUF); if (sub_value_length == 0) { /* not a valid packed repeated field */ return 0; @@ -408,7 +408,7 @@ dissect_one_protobuf_field(tvbuff_t *tvb, guint* offset, guint maxlen, packet_in field_tree = proto_tree_add_subtree(protobuf_tree, tvb, *offset, 0, ett_protobuf_field, &ti_field, "Field"); /* parsing Tag */ - tag_length = tvb_get_varint(tvb, *offset, maxlen, &tag_value); + tag_length = tvb_get_varint(tvb, *offset, maxlen, &tag_value, ENC_VARINT_PROTOBUF); if (tag_length == 0) { /* not found a valid varint */ expert_add_info(pinfo, ti_field, &ei_protobuf_failed_parse_tag); @@ -426,7 +426,7 @@ dissect_one_protobuf_field(tvbuff_t *tvb, guint* offset, guint maxlen, packet_in { case PROTOBUF_WIRETYPE_VARINT: /* varint, format: tag + varint */ /* get value length and real value */ - value_length = tvb_get_varint(tvb, *offset, maxlen - tag_length, &value_uint64); + value_length = tvb_get_varint(tvb, *offset, maxlen - tag_length, &value_uint64, ENC_VARINT_PROTOBUF); if (value_length == 0) { expert_add_info(pinfo, ti_wire, &ei_protobuf_failed_parse_field); return FALSE; @@ -446,7 +446,7 @@ dissect_one_protobuf_field(tvbuff_t *tvb, guint* offset, guint maxlen, packet_in case PROTOBUF_WIRETYPE_LENGTH_DELIMITED: /* Length-delimited, format: tag + length(varint) + bytes_value */ /* this time value_uint64 is the length of following value bytes */ - value_length_size = tvb_get_varint(tvb, *offset, maxlen - tag_length, &value_uint64); + value_length_size = tvb_get_varint(tvb, *offset, maxlen - tag_length, &value_uint64, ENC_VARINT_PROTOBUF); if (value_length_size == 0) { expert_add_info(pinfo, ti_field, &ei_protobuf_failed_parse_length_delimited_field); return FALSE; |