summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-teap.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--epan/dissectors/packet-teap.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/epan/dissectors/packet-teap.c b/epan/dissectors/packet-teap.c
index ac24f8cf..701e3389 100644
--- a/epan/dissectors/packet-teap.c
+++ b/epan/dissectors/packet-teap.c
@@ -256,6 +256,7 @@ static int
dissect_teap_tlv_pac(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, guint16 len);
static int
+// NOLINTNEXTLINE(misc-no-recursion)
dissect_pac_attr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
{
guint16 type;
@@ -330,17 +331,21 @@ dissect_pac_attr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset
}
static int
+// NOLINTNEXTLINE(misc-no-recursion)
dissect_teap_tlv_pac(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, guint16 len)
{
int start_offset = offset;
+ increment_dissection_depth(pinfo);
while (offset - start_offset < len) {
offset += dissect_pac_attr(tvb, pinfo, tree, offset);
}
+ decrement_dissection_depth(pinfo);
return offset - start_offset;
}
static int
+// NOLINTNEXTLINE(misc-no-recursion)
dissect_teap_tlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, gboolean top)
{
int start_offset = offset;
@@ -393,7 +398,9 @@ dissect_teap_tlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset
if (len > 6) {
next_tvb = tvb_new_subset_length(tvb, offset, len - 6);
+ increment_dissection_depth(pinfo);
offset += dissect_teap(next_tvb, pinfo, tlv_tree, NULL);
+ decrement_dissection_depth(pinfo);
}
break;
@@ -518,6 +525,7 @@ dissect_teap_tlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset
}
static int
+// NOLINTNEXTLINE(misc-no-recursion)
dissect_teap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
proto_tree *ti;