aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-pim.c
diff options
context:
space:
mode:
authorDavid Perry <boolean263@protonmail.com>2023-02-13 15:11:46 -0500
committerJohn Thacker <johnthacker@gmail.com>2023-02-25 05:32:48 +0000
commit1f59c187691761ef28837c1caf1c68a1a5cf7072 (patch)
tree154f86dc433ce86d752984b94102f647a42cf4ff /epan/dissectors/packet-pim.c
parent39aa3cb58af77a91e05972a440d35fbb93d4273d (diff)
Change some `wmem_packet_scope()` to `pinfo->pool`
As requested [here][1] by @eapache, help with removing calls to `wmem_packet_scope()` in favour of references to `pinfo->pool`. * Plugins chosen semi-randomly. * When a calling function already has a `pinfo` argument, use that. * Remove `_U_` from its signature if it was there. * If a function seems narrowly focused on getting and (possibly) returning memory, change the function signature to take a `wmem_allocator_t *`. * If it seems more focused on packet-based operations, pass in a `packet_info *` instead and use `pinfo->pool` within. * If there are several functions defined with the same call signature, add `pinfo _U_` to the argument list of similar functions in order to maintain clarity/symmetry. [1]: https://www.wireshark.org/lists/wireshark-dev/202107/msg00052.html
Diffstat (limited to 'epan/dissectors/packet-pim.c')
-rw-r--r--epan/dissectors/packet-pim.c74
1 files changed, 37 insertions, 37 deletions
diff --git a/epan/dissectors/packet-pim.c b/epan/dissectors/packet-pim.c
index 9ac0bc663c..02e9407979 100644
--- a/epan/dissectors/packet-pim.c
+++ b/epan/dissectors/packet-pim.c
@@ -757,7 +757,7 @@ dissect_pimv1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U
}
static gboolean
-dissect_pim_addr(proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtype at,
+dissect_pim_addr(packet_info *pinfo, proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtype at,
const char* label, proto_item** ret_item, int hf_ip4, int hf_ip6, int *advance) {
guint8 af, et, flags, mask_len, ja_af;
ws_in6_addr ipv6;
@@ -803,7 +803,7 @@ dissect_pim_addr(proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtyp
if (label)
{
ti = proto_tree_add_ipv4_format(tree, hf_ip4, tvb, offset, 2 + len,
- ipv4, "%s: %s", label, tvb_ip_to_str(wmem_packet_scope(), tvb, offset + 2));
+ ipv4, "%s: %s", label, tvb_ip_to_str(pinfo->pool, tvb, offset + 2));
}
else
{
@@ -817,7 +817,7 @@ dissect_pim_addr(proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtyp
if (label)
{
ti = proto_tree_add_ipv6_format(tree, hf_ip6, tvb, offset, 2 + len,
- &ipv6, "%s: %s", label, tvb_ip6_to_str(wmem_packet_scope(), tvb, offset + 2));
+ &ipv6, "%s: %s", label, tvb_ip6_to_str(pinfo->pool, tvb, offset + 2));
}
else
{
@@ -858,14 +858,14 @@ dissect_pim_addr(proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtyp
switch(ja_af) {
case AFNUM_INET:
rloc_tree = proto_tree_add_ipv4_format(ja_tree, hf_ip4, tvb, ja_offset, ja_length,
- ipv4, "RLOC: %s", tvb_ip_to_str(wmem_packet_scope(), tvb, ja_offset+ 1));
+ ipv4, "RLOC: %s", tvb_ip_to_str(pinfo->pool, tvb, ja_offset+ 1));
rloc_sub_tree = proto_item_add_subtree(rloc_tree, ett_pim);
proto_tree_add_item(rloc_sub_tree, hf_pim_addr_af, tvb, ja_offset, 1, ENC_NA);
proto_tree_add_item(rloc_sub_tree, hf_pim_rloc_addr_ipv4, tvb, ja_offset + 1, 4, ENC_BIG_ENDIAN);
break;
case AFNUM_INET6:
rloc_tree = proto_tree_add_ipv6_format(ja_tree, hf_ip6, tvb, ja_offset, ja_length,
- &ipv6, "RLOC: %s", tvb_ip_to_str(wmem_packet_scope(), tvb, ja_offset+ 1));
+ &ipv6, "RLOC: %s", tvb_ip_to_str(pinfo->pool, tvb, ja_offset+ 1));
rloc_sub_tree = proto_item_add_subtree(rloc_tree, ett_pim);
proto_tree_add_item(rloc_sub_tree, hf_pim_addr_af, tvb, ja_offset, 1, ENC_NA);
proto_tree_add_item(rloc_sub_tree, hf_pim_rloc_addr_ipv6, tvb, ja_offset + 1, 16, ENC_NA);
@@ -893,7 +893,7 @@ dissect_pim_addr(proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtyp
if (label)
{
ti = proto_tree_add_ipv4_format(tree, hf_ip4, tvb, offset, 4 + len,
- ipv4, "%s: %s", label, tvb_ip_to_str(wmem_packet_scope(), tvb, offset + 4));
+ ipv4, "%s: %s", label, tvb_ip_to_str(pinfo->pool, tvb, offset + 4));
}
else
{
@@ -909,7 +909,7 @@ dissect_pim_addr(proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtyp
if (label)
{
ti = proto_tree_add_ipv6_format(tree, hf_ip6, tvb, offset, 4 + len,
- &ipv6, "%s: %s", label, tvb_ip6_to_str(wmem_packet_scope(), tvb, offset + 4));
+ &ipv6, "%s: %s", label, tvb_ip6_to_str(pinfo->pool, tvb, offset + 4));
}
else
{
@@ -945,12 +945,12 @@ dissect_pim_addr(proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtyp
if (label)
{
ti = proto_tree_add_ipv4_format(tree, hf_ip4, tvb, offset, 4 + len,
- ipv4, "%s: %s", label, tvb_ip_to_str(wmem_packet_scope(), tvb, offset + 4));
+ ipv4, "%s: %s", label, tvb_ip_to_str(pinfo->pool, tvb, offset + 4));
}
else
{
ti = proto_tree_add_ipv4_format_value(tree, hf_ip4, tvb, offset, 4 + len, ipv4,
- "%s", tvb_ip_to_str(wmem_packet_scope(), tvb, offset + 4));
+ "%s", tvb_ip_to_str(pinfo->pool, tvb, offset + 4));
}
proto_item_append_text(ti, "/%u", mask_len);
break;
@@ -961,12 +961,12 @@ dissect_pim_addr(proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtyp
if (label)
{
ti = proto_tree_add_ipv6_format(tree, hf_ip6, tvb, offset, 4 + len,
- &ipv6, "%s: %s", label, tvb_ip6_to_str(wmem_packet_scope(), tvb, offset + 4));
+ &ipv6, "%s: %s", label, tvb_ip6_to_str(pinfo->pool, tvb, offset + 4));
}
else
{
ti = proto_tree_add_ipv6_format_value(tree, hf_ip6, tvb, offset, 4 + len, &ipv6,
- "%s", tvb_ip6_to_str(wmem_packet_scope(), tvb, offset + 4));
+ "%s", tvb_ip6_to_str(pinfo->pool, tvb, offset + 4));
}
proto_item_append_text(ti, "/%u", mask_len);
break;
@@ -1009,7 +1009,7 @@ dissect_pim_addr(proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtyp
case PIM_JOIN_ATTRIBUTE_TYPE_RPF:
if ((ja_length == 6) || (ja_length == 18)) {
int advance_attr;
- if (!dissect_pim_addr(ja_tree, tvb, ja_offset, pimv2_unicast, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, ja_tree, tvb, ja_offset, pimv2_unicast, NULL, NULL,
hf_pim_unicast_addr_ipv4, hf_pim_unicast_addr_ipv6, &advance_attr))
break;
} else {
@@ -1021,14 +1021,14 @@ dissect_pim_addr(proto_tree* tree, tvbuff_t *tvb, int offset, enum pimv2_addrtyp
switch(ja_af) {
case AFNUM_INET:
rloc_tree = proto_tree_add_ipv4_format(ja_tree, hf_ip4, tvb, ja_offset, ja_length,
- ipv4, "RLOC: %s", tvb_ip_to_str(wmem_packet_scope(), tvb, ja_offset+ 1));
+ ipv4, "RLOC: %s", tvb_ip_to_str(pinfo->pool, tvb, ja_offset+ 1));
rloc_sub_tree = proto_item_add_subtree(rloc_tree, ett_pim);
proto_tree_add_item(rloc_sub_tree, hf_pim_addr_af, tvb, ja_offset, 1, ENC_NA);
proto_tree_add_item(rloc_sub_tree, hf_pim_rloc_addr_ipv4, tvb, ja_offset + 1, 4, ENC_BIG_ENDIAN);
break;
case AFNUM_INET6:
rloc_tree = proto_tree_add_ipv6_format(ja_tree, hf_ip6, tvb, ja_offset, ja_length,
- &ipv6, "RLOC: %s", tvb_ip_to_str(wmem_packet_scope(), tvb, ja_offset+ 1));
+ &ipv6, "RLOC: %s", tvb_ip_to_str(pinfo->pool, tvb, ja_offset+ 1));
rloc_sub_tree = proto_item_add_subtree(rloc_tree, ett_pim);
proto_tree_add_item(rloc_sub_tree, hf_pim_addr_af, tvb, ja_offset, 1, ENC_NA);
proto_tree_add_item(rloc_sub_tree, hf_pim_rloc_addr_ipv6, tvb, ja_offset + 1, 16, ENC_NA);
@@ -1262,7 +1262,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
hello_opt);
for (i = offset + 4; i < offset + 4 + opt_len; ) {
int advance;
- if (!dissect_pim_addr(sub_tree, tvb, i, pimv2_unicast, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, sub_tree, tvb, i, pimv2_unicast, NULL, NULL,
hf_pim_address_list_ip4, hf_pim_address_list_ip6, &advance))
break;
i += advance;
@@ -1347,11 +1347,11 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
int advance;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_group, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_group, NULL, NULL,
hf_pim_group_ip4, hf_pim_group_ip6, &advance))
break;
offset += advance;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast, NULL, NULL,
hf_pim_source_ip4, hf_pim_source_ip6, &advance))
break;
break;
@@ -1369,7 +1369,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
proto_tree *subtree = NULL;
proto_item *tisub;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast, NULL, NULL,
hf_pim_upstream_neighbor_ip4, hf_pim_upstream_neighbor_ip6, &advance))
break;
@@ -1389,7 +1389,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
for (i = 0; i < ngroup; i++) {
tigroup=proto_tree_add_string_format(pimopt_tree, hf_pim_group, tvb, offset, -1, "", "Group %d", i);
grouptree = proto_item_add_subtree(tigroup, ett_pim);
- if (!dissect_pim_addr(grouptree, tvb, offset, pimv2_group,
+ if (!dissect_pim_addr(pinfo, grouptree, tvb, offset, pimv2_group,
wmem_strdup_printf(pinfo->pool, "Group %d", i), NULL,
hf_pim_group_ip4, hf_pim_group_ip6, &advance))
goto breakbreak3;
@@ -1403,7 +1403,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
subtree = proto_item_add_subtree(tisub, ett_pim);
off = offset + 4;
for (j = 0; j < njoin; j++) {
- if (!dissect_pim_addr(subtree, tvb, off, pimv2_source, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, subtree, tvb, off, pimv2_source, NULL, NULL,
hf_pim_join_ip4, hf_pim_join_ip6, &advance))
goto breakbreak3;
@@ -1414,7 +1414,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
offset + 2, 2, ENC_BIG_ENDIAN);
subtree = proto_item_add_subtree(tisub, ett_pim);
for (j = 0; j < nprune; j++) {
- if (!dissect_pim_addr(subtree, tvb, off, pimv2_source, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, subtree, tvb, off, pimv2_source, NULL, NULL,
hf_pim_prune_ip4, hf_pim_prune_ip6, &advance))
goto breakbreak3;
@@ -1443,13 +1443,13 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
proto_tree_add_item(pimopt_tree, hf_pim_bsr_priority, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast, NULL, NULL,
hf_pim_bsr_ip4, hf_pim_bsr_ip6, &advance))
break;
offset += advance;
for (i = 0; tvb_reported_length_remaining(tvb, offset) > 0; i++) {
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_group,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_group,
wmem_strdup_printf(pinfo->pool, "Group %d", i), &tigroup,
hf_pim_group_ip4, hf_pim_group_ip6, &advance))
goto breakbreak4;
@@ -1464,7 +1464,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
offset += 3;
for (j = 0; j < frpcnt; j++) {
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast,
wmem_strdup_printf(pinfo->pool, "RP %d", j), NULL,
hf_pim_rp_ip4, hf_pim_rp_ip6, &advance))
@@ -1490,13 +1490,13 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
int advance;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_group,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_group,
NULL, NULL,
hf_pim_group_ip4, hf_pim_group_ip6, &advance))
break;
offset += advance;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast,
NULL, NULL,
hf_pim_source_ip4, hf_pim_source_ip6, &advance))
break;
@@ -1527,14 +1527,14 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
proto_tree_add_item(pimopt_tree, hf_pim_holdtime, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast,
NULL, NULL,
hf_pim_rp_ip4, hf_pim_rp_ip6, &advance))
break;
offset += advance;
for (i = 0; i < pfxcnt; i++) {
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_group,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_group,
wmem_strdup_printf(pinfo->pool, "Group %d", i), NULL,
hf_pim_group_ip4, hf_pim_group_ip6, &advance))
goto breakbreak8;
@@ -1548,19 +1548,19 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
int advance;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_group,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_group,
NULL, NULL,
hf_pim_group_ip4, hf_pim_group_ip6, &advance))
break;
offset += advance;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast,
NULL, NULL,
hf_pim_source_ip4, hf_pim_source_ip6, &advance))
break;
offset += advance;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast,
NULL, NULL,
hf_pim_originator_ip4, hf_pim_originator_ip6, &advance))
break;
@@ -1595,7 +1595,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
int advance;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast,
NULL, NULL,
hf_pim_rp_ip4, hf_pim_rp_ip6, &advance))
break;
@@ -1608,7 +1608,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
switch(PIM_BIDIR_SUBTYPE(pim_bidir_subtype)) {
case PIM_BDIR_DF_BACKOFF :
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast,
NULL, NULL,
hf_pim_bd_bo_offer_ip4, hf_pim_bd_bo_offer_ip6, &advance))
break;
@@ -1620,7 +1620,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
proto_tree_add_item(pimopt_tree, hf_pim_bd_offer_interval, tvb, offset, 2, ENC_BIG_ENDIAN);
break;
case PIM_BDIR_DF_PASS:
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast,
NULL, NULL,
hf_pim_bd_pass_ip4, hf_pim_bd_pass_ip6, &advance))
break;
@@ -1638,7 +1638,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
int opt_count = 0;
int advance;
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast, NULL, NULL,
hf_pim_originator_ip4, hf_pim_originator_ip6, &advance))
break;
offset += advance;
@@ -1661,7 +1661,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
switch(pfm_opt){
case PIM_PFM_GROUP_SOURCE:
{
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_group, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_group, NULL, NULL,
hf_pim_group_ip4, hf_pim_group_ip6, &advance))
break;
offset += advance;
@@ -1672,7 +1672,7 @@ dissect_pim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
proto_tree_add_item(pimopt_tree, hf_pim_srcholdt, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
while(src_count>0){
- if (!dissect_pim_addr(pimopt_tree, tvb, offset, pimv2_unicast, NULL, NULL,
+ if (!dissect_pim_addr(pinfo, pimopt_tree, tvb, offset, pimv2_unicast, NULL, NULL,
hf_pim_source_ip4, hf_pim_source_ip6, &advance))
goto breakbreak12;
offset+=advance;