aboutsummaryrefslogtreecommitdiffstats
path: root/epan/gcp.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2011-09-07 05:02:43 +0000
committerAnders Broman <anders.broman@ericsson.com>2011-09-07 05:02:43 +0000
commitb27a250a0d76480ed38eabba5370c555b6d8402f (patch)
treefa7e02ef10e1ae45aecdb86d0046619af551ca8f /epan/gcp.c
parent762bae3672c06edb9135ecf1183afb66921a65ee (diff)
From Václav Horčák:
When context id is reused by another termination, initial packet containing $ (=choose one) is not added to context but belongs to context 0xfffffffe(context id value used in wireshark for choose one). This affects context listing in MEGACO packet contents and Telephony->Voip Calls listings for MEGACO. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6311 svn path=/trunk/; revision=38910
Diffstat (limited to 'epan/gcp.c')
-rw-r--r--epan/gcp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/epan/gcp.c b/epan/gcp.c
index 81b01a4563..651cf862e8 100644
--- a/epan/gcp.c
+++ b/epan/gcp.c
@@ -281,7 +281,9 @@ gcp_ctx_t* gcp_ctx(gcp_msg_t* m, gcp_trx_t* t, guint32 c_id, gboolean persistent
if (( context = se_tree_lookup32_array(ctxs_by_trx,trx_key) )) {
if (( context_p = se_tree_lookup32_array(ctxs,ctx_key) )) {
if (context != *context_p) {
- context = se_alloc(sizeof(gcp_ctx_t));
+ if(context->id != CHOOSE_CONTEXT) {
+ context = se_alloc(sizeof(gcp_ctx_t));
+ }
context->initial = m;
context->id = c_id;
context->cmds = NULL;