summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-06-14 12:52:09 -0400
committerMichael Mann <mmann78@netscape.net>2017-06-15 11:33:26 +0000
commitd802138333a2fc4a838b10deeaa6c0551b3b66b1 (patch)
tree57ba2d16fee5743764d3b0f003902ee21f398ba6
parent7f8d5f9ce16760e68220b8961cf308725dccd96a (diff)
downloadwireshark-d802138333a2fc4a838b10deeaa6c0551b3b66b1.tar.gz
packet-btrfcomm.c: Prevent over bit shift in get_le_multi_byte_value.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2163 Bug: 13783 Change-Id: I92cefec86f9545345d00cf28e32ef7c05064417c Reviewed-on: https://code.wireshark.org/review/22141 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com> (cherry picked from commit 552dab08a6ea1b47465d888c613c353f8697e918) Reviewed-on: https://code.wireshark.org/review/22152 Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r--epan/dissectors/packet-btrfcomm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/epan/dissectors/packet-btrfcomm.c b/epan/dissectors/packet-btrfcomm.c
index 091cf9e932..3c2336f86c 100644
--- a/epan/dissectors/packet-btrfcomm.c
+++ b/epan/dissectors/packet-btrfcomm.c
@@ -312,7 +312,7 @@ get_le_multi_byte_value(tvbuff_t *tvb, int offset, proto_tree *tree, guint32 *va
byte = tvb_get_guint8(tvb, offset);
offset += 1;
val |= ((byte >> 1) & 0xff) << (bc++ * 7);
- } while ((byte & 0x1) == 0);
+ } while (((byte & 0x1) == 0) && (bc <= 4));
*val_ptr = val;