aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-01-31 21:38:56 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-01-31 21:38:56 +0000
commita960b72f5f18baf7f5e9993d8b9ca9f57942f420 (patch)
tree963f6612e4591f6327497e997badaec74c345e56 /epan
parentd9614f8c409cf2bfbc3a38fff115850f49011ee8 (diff)
Put application context OID in pinfo->private data to be used by sub-dissector(s).
svn path=/trunk/; revision=13218
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-tcap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/epan/dissectors/packet-tcap.c b/epan/dissectors/packet-tcap.c
index 3acff2d7c2..0495aa5e48 100644
--- a/epan/dissectors/packet-tcap.c
+++ b/epan/dissectors/packet-tcap.c
@@ -1647,6 +1647,7 @@ dissect_tcap_dlg_application_context_name(ASN1_SCK *asn1, proto_tree *tcap_tree,
guint name_len, len, len2;
guint tag;
subid_t *oid;
+ char oid_str[64]; /*64 chars should be long enough? */
int ret;
gboolean def_len;
@@ -1663,7 +1664,7 @@ dissect_tcap_dlg_application_context_name(ASN1_SCK *asn1, proto_tree *tcap_tree,
* TODO Probbably more can be removed here but I'm uncertain about the lengths
proto_tree_add_bytes(tcap_tree, hf_tcap_app_con_name, asn1->tvb, saved_offset, len2, tvb_get_ptr(asn1->tvb, saved_offset, len2));
*/
- asn1->offset = dissect_ber_object_identifier(FALSE, pinfo, tcap_tree, asn1->tvb, saved_offset, hf_tcap_oid, NULL);
+ asn1->offset = dissect_ber_object_identifier(FALSE, pinfo, tcap_tree, asn1->tvb, saved_offset, hf_tcap_oid, oid_str);
if (ret == ASN1_ERR_NOERROR) g_free(oid);
if (!def_len)
@@ -1671,6 +1672,7 @@ dissect_tcap_dlg_application_context_name(ASN1_SCK *asn1, proto_tree *tcap_tree,
/* for Application Context Name Tag */
dissect_tcap_eoc(asn1, tcap_tree);
}
+ pinfo->private_data = g_strdup(oid_str);
return TC_DS_OK;
}
@@ -2772,6 +2774,7 @@ dissect_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
dissect_ansi_tcap_message(tvb, pinfo, tcap_tree);
}
+ g_free(pinfo->private_data);
}