Wireshark-dev: Re: [Wireshark-dev] Wireshark w/ MSVC++ 2005 EE fails to capture

From: Ulf Lamping <ulf.lamping@xxxxxx>
Date: Sat, 27 Jan 2007 03:39:58 +0100
Stephen Fisher wrote:
I couldn't find anything wrong with the code so I deleted my source code and started over in the developer's guide. One thing I hadn't done before was change the config.nmake to use the 2005EE compiler instead of MSVC6. Now I can capture and open files :)
Ah, someone followed the guide :-)

It might be a good idea to add a compile time check, it the MSVC_VARIANT setting matches the _MSC_VER define. This way, such problems are at least harder to make :-)
One problem remains with name lookup - do you have that enabled when doing a msvc2005ee build? It's crashing at addr_resolv.c in the add_ipv4_name() function where it performs this: strncpy(tp->name, name, MAXNAMELEN). Name is an invalid pointer when it crashes after opening or capturing 10-30 frames or so even though adns is returning adns_s_ok in the previous call (host_name_lookup_process).

Can you duplicate this problem? I can work on it further, but I wanted to make sure it isn't just a problem with my setup first.
It's working like a charm, with and without DNS / ADNS enabled.

Without looking too deeply into it, I don't even know why this should go wrong. ADNS shouldn't provide any C runtime things that could cause trouble because of the different msvcr*.dll versions used. Sorry, no idea to help you ...

Regards, ULFL