diff options
author | Anders Broman <anders.broman@ericsson.com> | 2006-08-02 19:50:04 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2006-08-02 19:50:04 +0000 |
commit | 6bdffa496ee040efcc20f98bde89b516a1732601 (patch) | |
tree | b060f269053dadf744aaf9af7e920f6edbaef351 /epan/conversation.c | |
parent | b380600ab9a64d9c79e1870171f4aeacf221410f (diff) | |
download | wireshark-6bdffa496ee040efcc20f98bde89b516a1732601.tar.gz wireshark-6bdffa496ee040efcc20f98bde89b516a1732601.tar.bz2 wireshark-6bdffa496ee040efcc20f98bde89b516a1732601.zip |
From Peter Johansson:
the supplied patch fixes a problem where the options value should really be used from the conversation found (using
conversation_lookup_hashtable(...) to create a new conversation based on the already stored conversation template (the CONVERSATION_TEMPLATE bit is set in the stored conversation) rather from the options argument passed to the function(s).
This solves a problem that otherwise shows itself where "DISSECTOR_ASSERT(!(conv->options & CONVERSATION_TEMPLATE) && "Use the conversation_create_from_template function when the CONVERSATION_TEMPLATE bit is set in the options mask");" fails sometimes.
svn path=/trunk/; revision=18825
Diffstat (limited to 'epan/conversation.c')
-rw-r--r-- | epan/conversation.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/epan/conversation.c b/epan/conversation.c index 777a4e5268..c7a44e9bf7 100644 --- a/epan/conversation.c +++ b/epan/conversation.c @@ -790,9 +790,9 @@ find_conversation(guint32 frame_num, address *addr_a, address *addr_b, port_type * don't get packets in a given direction coming from more than one * address, unless the CONVERSATION_TEMPLATE option is set.) */ - if (!(options & NO_ADDR_B) && ptype != PT_UDP) + if (!(conversation->options & NO_ADDR_B) && ptype != PT_UDP) { - if(!(options & CONVERSATION_TEMPLATE)) + if(!(conversation->options & CONVERSATION_TEMPLATE)) { conversation_set_addr2(conversation, addr_b); } @@ -829,7 +829,7 @@ find_conversation(guint32 frame_num, address *addr_a, address *addr_b, port_type * conversation. */ if (ptype != PT_UDP) { - if(!(options & CONVERSATION_TEMPLATE)) + if(!(conversation->options & CONVERSATION_TEMPLATE)) { conversation_set_addr2(conversation, addr_a); } @@ -881,9 +881,9 @@ find_conversation(guint32 frame_num, address *addr_a, address *addr_b, port_type * get packets in a given direction coming from more than one port, * unless the CONVERSATION_TEMPLATE option is set.) */ - if (!(options & NO_PORT_B) && ptype != PT_UDP) + if (!(conversation->options & NO_PORT_B) && ptype != PT_UDP) { - if(!(options & CONVERSATION_TEMPLATE)) + if(!(conversation->options & CONVERSATION_TEMPLATE)) { conversation_set_port2(conversation, port_b); } @@ -921,7 +921,7 @@ find_conversation(guint32 frame_num, address *addr_a, address *addr_b, port_type */ if (ptype != PT_UDP) { - if(!(options & CONVERSATION_TEMPLATE)) + if(!(conversation->options & CONVERSATION_TEMPLATE)) { conversation_set_port2(conversation, port_a); } @@ -963,11 +963,11 @@ find_conversation(guint32 frame_num, address *addr_a, address *addr_b, port_type */ if (ptype != PT_UDP) { - if(!(options & CONVERSATION_TEMPLATE)) + if(!(conversation->options & CONVERSATION_TEMPLATE)) { - if (!(options & NO_ADDR_B)) + if (!(conversation->options & NO_ADDR_B)) conversation_set_addr2(conversation, addr_b); - if (!(options & NO_PORT_B)) + if (!(conversation->options & NO_PORT_B)) conversation_set_port2(conversation, port_b); } else |