Neil Piercy:

I've just had a bug in one of our private dissectors which meant
that the handle passed to call_dissector was null. This seemed to give
varying behavior - on some Windows installations it hit wireshark's
in-built exception handling, and displayed that the dissector had an
error (correct), but on some installations it just crashed wireshark
(not helpful). I _think_ the difference was whether MSVC was installed
or not, but on a sample of only 3 machines.

Should call_dissector include explicit null handle checks, and if so,
should it:-

a) g_assert - the simple patch attached
b) fallback to doing a data decode (as disabled protocols do)
c) try to invoke the wireshark exception handling for the packet

Or is the correct answer none of the above - the exception handler
should already cope ?

        

svn path=/trunk/; revision=18869
This commit is contained in:
Jörg Mayer 2006-08-10 10:09:31 +00:00
parent 13fae81007
commit 41d8f13aec
1 changed files with 1 additions and 0 deletions

View File

@ -1702,6 +1702,7 @@ call_dissector(dissector_handle_t handle, tvbuff_t *tvb,
{
int ret;
g_assert(handle != NULL);
ret = call_dissector_work(handle, tvb, pinfo, tree);
if (ret == 0) {
/*