diff options
author | Michael Mann <mmann78@netscape.net> | 2013-12-03 12:53:09 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-12-03 12:53:09 +0000 |
commit | 024c4fc8e3dcdbabf1c50e8a36643e04cb2c0457 (patch) | |
tree | 96816163e1be5a12bdb56b8e5f7180f6651234eb /epan/dissectors/packet-teamspeak2.c | |
parent | 18e532be596baa07769601ef9d3bd73e6d7fe0ad (diff) | |
download | wireshark-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.c | 13 |
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; |