summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-teamspeak2.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-teamspeak2.c')
-rw-r--r--epan/dissectors/packet-teamspeak2.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/epan/dissectors/packet-teamspeak2.c b/epan/dissectors/packet-teamspeak2.c
index c37f03bf78..1c5f3eca46 100644
--- a/epan/dissectors/packet-teamspeak2.c
+++ b/epan/dissectors/packet-teamspeak2.c
@@ -690,12 +690,11 @@ static ts2_conversation* ts2_get_conversation(packet_info *pinfo)
{
conversation_t *conversation;
ts2_conversation *conversation_data;
- conversation = find_conversation(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0);
- if(conversation)
- {
- conversation_data = (ts2_conversation*)conversation_get_proto_data(conversation, proto_ts2);
- }
- else
+ conversation = find_or_create_conversation(pinfo);
+
+ conversation_data = (ts2_conversation*)conversation_get_proto_data(conversation, proto_ts2);
+
+ if (conversation_data == NULL)
{
conversation_data = wmem_new(wmem_file_scope(), ts2_conversation);
conversation_data->last_inorder_server_frame=0; /* sequence number should never be zero so we can use this as an initial number */
@@ -705,7 +704,7 @@ static ts2_conversation* ts2_get_conversation(packet_info *pinfo)
conversation_data->server_frag_num=0;
conversation_data->client_frag_size=0;
conversation_data->client_frag_num=0;
- conversation = conversation_new(pinfo->fd->num, &pinfo->src, &pinfo->dst, pinfo->ptype, pinfo->srcport, pinfo->destport, 0);
+
conversation_add_proto_data(conversation, proto_ts2, (void *)conversation_data);
}
return conversation_data;