diff options
author | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2000-11-18 06:51:42 +0000 |
---|---|---|
committer | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2000-11-18 06:51:42 +0000 |
commit | c5ff3724cc3f23fc3bbdbfe15e5bf22bc4cc9047 (patch) | |
tree | e8ccdd5c9c408f7cc5f7fca4fcc0e0b883d3e4b9 /epan/conversation.c | |
parent | 9470410591b5fd91e8d045aca61a3ab90c986920 (diff) |
Don't attempt to call the dissector for a conversation if the
conversation doesn't have a dissector.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2655 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/conversation.c')
-rw-r--r-- | epan/conversation.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/epan/conversation.c b/epan/conversation.c index a1e43d153f..9757653e50 100644 --- a/epan/conversation.c +++ b/epan/conversation.c @@ -1,7 +1,7 @@ /* conversation.c * Routines for building lists of packets that are part of a "conversation" * - * $Id: conversation.c,v 1.3 2000/10/21 09:54:12 guy Exp $ + * $Id: conversation.c,v 1.4 2000/11/18 06:51:42 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -765,13 +765,26 @@ try_conversation_dissector(address *src, address *dst, port_type ptype, /* * New dissector calling old dissector; use * "tvb_compat()" to remap. + * + * "is_old_dissector" won't be set unless + * "dissector.old_d" is set. */ tvb_compat(tvb, &pd, &offset); (*conversation->dissector.old_d)(pd, offset, pinfo->fd, tree); - } else + } else { + /* + * Do we have a conversation dissector? + */ + if (conversation->dissector.new_d == NULL) { + /* + * No, so we can't call it. + */ + return FALSE; + } (*conversation->dissector.new_d)(tvb, pinfo, tree); - return TRUE; + return TRUE; + } } return FALSE; } |