summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-pana.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-pana.c')
-rw-r--r--epan/dissectors/packet-pana.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/epan/dissectors/packet-pana.c b/epan/dissectors/packet-pana.c
index dc64b68..03edebc 100644
--- a/epan/dissectors/packet-pana.c
+++ b/epan/dissectors/packet-pana.c
@@ -276,6 +276,7 @@ pana_avp_get_type(guint16 avp_code, guint32 vendor_id)
* Function for AVP dissector.
*/
static void
+// NOLINTNEXTLINE(misc-no-recursion)
dissect_avps(tvbuff_t *tvb, packet_info *pinfo, proto_tree *avp_tree)
{
@@ -367,6 +368,7 @@ dissect_avps(tvbuff_t *tvb, packet_info *pinfo, proto_tree *avp_tree)
group_tvb = tvb_new_subset_length_caplen(tvb, offset,
MIN(avp_data_length, tvb_reported_length(tvb)-offset),
avp_data_length);
+ // We recurse here, but we'll run out of packet before we run out of stack.
dissect_avps(group_tvb, pinfo, avp_group_tree);
break;
}
@@ -427,6 +429,7 @@ dissect_avps(tvbuff_t *tvb, packet_info *pinfo, proto_tree *avp_tree)
tvb, offset, avp_data_length,
ett_pana_avp, NULL, "AVP Value (PANA packet)");
encap_tvb = tvb_new_subset_length(tvb, offset, avp_data_length);
+ // We recurse here, but we'll run out of packet before we run out of stack.
dissect_pana_pdu(encap_tvb, pinfo, avp_encap_tree);
break;
}
@@ -445,6 +448,7 @@ dissect_avps(tvbuff_t *tvb, packet_info *pinfo, proto_tree *avp_tree)
* Function for the PANA PDU dissector.
*/
static void
+// NOLINTNEXTLINE(misc-no-recursion)
dissect_pana_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
@@ -859,8 +863,7 @@ proto_register_pana(void)
};
/* Register the protocol name and description */
- proto_pana = proto_register_protocol("Protocol for carrying Authentication for Network Access",
- "PANA", "pana");
+ proto_pana = proto_register_protocol("Protocol for carrying Authentication for Network Access", "PANA", "pana");
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_pana, hf, array_length(hf));