diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2018-02-17 14:25:36 +0100 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2018-02-17 14:45:12 +0000 |
commit | 49e331c4cec96a1ca2637eed48f67553bc53a5b9 (patch) | |
tree | 33e2127771301bfb1fa40a0d9bfe3c5bb62683f8 /epan/dissectors/packet-thread.c | |
parent | 0fa1176c22d83728b83111d984751093c46a4106 (diff) |
Thread: use wider variables to prevent overflow and infinite loops
Bug: 14428
Change-Id: I5536bdca23b24e41c13c0837d1f50d9db26f864a
Reviewed-on: https://code.wireshark.org/review/25832
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-thread.c')
-rw-r--r-- | epan/dissectors/packet-thread.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/epan/dissectors/packet-thread.c b/epan/dissectors/packet-thread.c index 5ed94653fa..48c19a8d22 100644 --- a/epan/dissectors/packet-thread.c +++ b/epan/dissectors/packet-thread.c @@ -885,8 +885,8 @@ get_chancount(tvbuff_t *tvb) int i, j; guint8 entries = 0; gint32 check_len = tlv_len; - guint8 check_offset = offset + 1; /* Channel page first */ - guint8 masklen; + gint check_offset = offset + 1; /* Channel page first */ + guint16 masklen; /* Check consistency of entries */ while (check_len > 0) { @@ -1729,8 +1729,8 @@ dissect_thread_mc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat int i; guint8 entries = 0; gint32 check_len = tlv_len; - guint8 check_offset = offset + 1; /* Channel page first */ - guint8 masklen; + gint check_offset = offset + 1; /* Channel page first */ + guint16 masklen; /* Check consistency of entries */ while (check_len > 0) { |