diff options
author | Peter Wu <peter@lekensteyn.nl> | 2017-04-18 16:01:10 +0200 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-04-18 17:54:09 +0000 |
commit | 5df6cc4b3da71f3d9564eab1ed25f4d3ad21a3ff (patch) | |
tree | 6bf06eb9e61956f1f01c785969142b1d66a84d99 | |
parent | 67d7a942376be1e4a86b4c50e94cd7f74b969777 (diff) |
ositp: fix undefined behavior from large shift
Display "2^105" instead of the expanded value.
Change-Id: I455625ab66cd86587ca35d09e1eba98ae1d87a94
Link: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1149
Bug: 13606
Reviewed-on: https://code.wireshark.org/review/21188
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r-- | epan/dissectors/packet-ositp.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/epan/dissectors/packet-ositp.c b/epan/dissectors/packet-ositp.c index 9e5bd27606..4e2edfeb5c 100644 --- a/epan/dissectors/packet-ositp.c +++ b/epan/dissectors/packet-ositp.c @@ -536,19 +536,17 @@ static gboolean ositp_decode_var_part(tvbuff_t *tvb, int offset, int vp_length, case VP_RES_ERROR: s = tvb_get_guint8(tvb, offset); - proto_tree_add_uint_format(tree, hf_cotp_res_error_rate_target_value, tvb, offset, 1, - s, "Residual error rate, target value: 10^%u", s); + proto_tree_add_uint_format_value(tree, hf_cotp_res_error_rate_target_value, tvb, offset, 1, s, "10^%u", s); offset += 1; vp_length -= 1; s = tvb_get_guint8(tvb, offset); - proto_tree_add_uint_format(tree, hf_cotp_res_error_rate_min_accept, tvb, offset, 1, - s, "Residual error rate, minimum acceptable: 10^%u", s); + proto_tree_add_uint_format_value(tree, hf_cotp_res_error_rate_min_accept, tvb, offset, 1, s, "10^%u", s); offset += 1; vp_length -= 1; s = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree,hf_cotp_res_error_rate_tdsu, tvb, offset, 1, 1 << s); + proto_tree_add_uint_format_value(tree, hf_cotp_res_error_rate_tdsu, tvb, offset, 1, s, "2^%u", s); offset += 1; vp_length -= 1; break; |