aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2017-10-18 21:18:00 +0200
committerAnders Broman <a.broman58@gmail.com>2017-10-18 21:15:46 +0000
commit288973ff7485d910fbef60ed2875edfd387f1a4f (patch)
tree9ac17f221b771d4ecc082c6cea3a71194125c7a8
parentb580bbfdd275e6151e2d67d8a03da6c9dae0b36b (diff)
FP Mux: create conversation if it does not exist
Change-Id: Ib26145c30f6f3ba20e26d52f1e4b90825029809d Ping-Bug: 14140 Reviewed-on: https://code.wireshark.org/review/23977 Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r--epan/dissectors/packet-fp_mux.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/epan/dissectors/packet-fp_mux.c b/epan/dissectors/packet-fp_mux.c
index a73cc3b..1758eba 100644
--- a/epan/dissectors/packet-fp_mux.c
+++ b/epan/dissectors/packet-fp_mux.c
@@ -316,9 +316,12 @@ static int heur_dissect_fp_mux(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
/* This is FP Mux! */
/* Set conversation dissector and dissect */
- conversation = (conversation_t *)find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
- pinfo->ptype,
- pinfo->destport, pinfo->srcport, 0);
+ conversation = find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
+ pinfo->ptype, pinfo->destport, pinfo->srcport, 0);
+ if (!conversation) {
+ conversation = conversation_new(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
+ pinfo->ptype, pinfo->destport, pinfo->srcport, 0);
+ }
conversation_set_dissector(conversation, fp_mux_handle);
dissect_fp_mux(tvb, pinfo, tree, data);