diff options
author | Anders Broman <anders.broman@ericsson.com> | 2005-01-31 21:38:56 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2005-01-31 21:38:56 +0000 |
commit | a960b72f5f18baf7f5e9993d8b9ca9f57942f420 (patch) | |
tree | 963f6612e4591f6327497e997badaec74c345e56 /epan | |
parent | d9614f8c409cf2bfbc3a38fff115850f49011ee8 (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.c | 5 |
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); } |