aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ositp.c
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2017-04-18 16:01:10 +0200
committerMichael Mann <mmann78@netscape.net>2017-04-18 17:54:09 +0000
commit5df6cc4b3da71f3d9564eab1ed25f4d3ad21a3ff (patch)
tree6bf06eb9e61956f1f01c785969142b1d66a84d99 /epan/dissectors/packet-ositp.c
parent67d7a942376be1e4a86b4c50e94cd7f74b969777 (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>
Diffstat (limited to 'epan/dissectors/packet-ositp.c')
-rw-r--r--epan/dissectors/packet-ositp.c8
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;