aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorJustin Iurman <justin.iurman@uliege.be>2021-11-05 15:51:31 +0100
committerJustin Iurman <justin.iurman@uliege.be>2021-11-05 15:51:31 +0100
commitdd0ecf8623be08b32103d22d7a2a6930aa6aaae4 (patch)
tree7ee8efc5a7c293539d225353d0a529fd232cad41 /epan
parent1fc621e38d30ef5c53ad75dc5c8d2c7d0c0be0ac (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.c3
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");