Wireshark mailing list archives

Re: Problem during compilation


From: Jeff Morriss <jeff.morriss.ws () gmail com>
Date: Mon, 26 Apr 2010 16:02:12 -0400

Graham Bloice wrote:
On 26/04/2010 10:35, Graham Bloice wrote:
On 26/04/2010 10:10, ankur madan wrote:
I have latest version code from the svn and latest development 
wireshark version.1.3.4 installed.i am still not able to resolve this 
issue.any help or comments are welcome
 
thanks
ankur

On Mon, Apr 26, 2010 at 12:51 PM, ankur madan <ankurmadan9 () gmail com 
<mailto:ankurmadan9 () gmail com>> wrote:

    I am compiling on windows XP n 32 bit.


    On Mon, Apr 26, 2010 at 3:37 AM, Stephen Fisher
    <steve () stephen-fisher com <mailto:steve () stephen-fisher com>> wrote:

        On Fri, Apr 23, 2010 at 02:42:35PM +0530, ankur madan wrote:

        > packet-ieee802154.c(982) : warning C4244: '=' : conversion from
        > 'guint64' to 'gu int32', possible loss of data

        I see that you're compiling on Windows, but which version and
        is it
        32-bit or 64-bit?


Personally I'm just carrying fixes to this in my local source tree as 
I haven't had time to push a patch back into the repo.  I don't know 
why this compiles OK on the buildbot and not with VC8.

IMHO the current code is incorrect as it incorrectly casts a 32 bit 
value to a 64 bit one and then calls proto_tree_add_uint64 with it 
when the value really is a 32 bit one (lines 981-985):

        if (packet->key_id_mode == KEY_ID_MODE_KEY_EXPLICIT_4) {
          packet->key_source.addr32 = tvb_get_ntohl(tvb, offset);
          proto_tree_add_uint64(field_tree, 
hf_ieee802154_aux_sec_key_source, tvb, offset, 4, 
packet->key_source.addr32);
          proto_item_set_len(ti, 1 + 4);
          offset += sizeof (guint32);

and the other errors simply need a cast to gchar to allow them to 
compile (lines 2006 - 2013).

I've attached a patch that works for me.

Oops.  Compile before posting, the last second change to 
proto_tree_add_uint64 should have been to proto_tree_add_uint.  
Corrected patch supplied.

Also note that if you are using VC8 you may run into other compilation 
or run-time issues.  I strongly recommend you grab a copy of the VS 2008 
Express edition or even the 2010 version if you want to live at the 
bleeding edge.

The problem with this patch is that hf_ieee802154_aux_sec_key_source is 
an FT_UINT64.  Trying to use proto_tree_add_uint() on it will result in 
a dissector assertion (see epan/proto.c: proto_tree_add_uint()).
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: