diff options
author | Justin Iurman <justin.iurman@uliege.be> | 2021-11-05 15:51:31 +0100 |
---|---|---|
committer | Justin Iurman <justin.iurman@uliege.be> | 2021-11-05 15:51:31 +0100 |
commit | dd0ecf8623be08b32103d22d7a2a6930aa6aaae4 (patch) | |
tree | 7ee8efc5a7c293539d225353d0a529fd232cad41 /epan | |
parent | 1fc621e38d30ef5c53ad75dc5c8d2c7d0c0be0ac (diff) |
Fix loop inside the IOAM Trace data dissection
This patch is a quick fix to the infinite loop during dissection of the
IOAM Trace data list, introduced by merge request !4962
Fixes #17709
Closes #17709
Signed-off-by: Justin Iurman <justin.iurman@uliege.be>
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-ipv6.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c index 9a7dfb4a89..a296700842 100644 --- a/epan/dissectors/packet-ipv6.c +++ b/epan/dissectors/packet-ipv6.c @@ -1904,6 +1904,9 @@ dissect_opt_ioam_trace(tvbuff_t *tvb, gint offset, packet_info *pinfo, } /* node data list parsing starts here */ + if (!nodelen || remlen * 4 > opt_len - 10) + return offset; + proto_tree* trace_tree = proto_tree_add_subtree(opt_tree, tvb, offset, opt_len - 10, 0, NULL, "Trace Data"); |