summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-teamspeak2.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-12-03 12:53:09 +0000
committerMichael Mann <mmann78@netscape.net>2013-12-03 12:53:09 +0000
commit024c4fc8e3dcdbabf1c50e8a36643e04cb2c0457 (patch)
tree96816163e1be5a12bdb56b8e5f7180f6651234eb /epan/dissectors/packet-teamspeak2.c
parent18e532be596baa07769601ef9d3bd73e6d7fe0ad (diff)
downloadwireshark-024c4fc8e3dcdbabf1c50e8a36643e04cb2c0457.tar.gz
Don't allow conversation_data to be NULL. Bug 9493 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9493)
svn path=/trunk/; revision=53744
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;