ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
April 17th, 2024 | 14:30-16:00 SGT (UTC+8) | Online

Wireshark-dev: Re: [Wireshark-dev] Problem during compilation

From: ankur madan <ankurmadan9@xxxxxxxxx>
Date: Tue, 27 Apr 2010 10:08:19 +0530
So,is there any other solution for this problem.due to some reason i have 2 work on VS 2005 only.looking forward for a response.

On Tue, Apr 27, 2010 at 1:32 AM, Jeff Morriss <jeff.morriss.ws@gmail.com> wrote:
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@xxxxxxxxx
>>> <mailto:ankurmadan9@xxxxxxxxx>> wrote:
>>>
>>>     I am compiling on windows XP n 32 bit.
>>>
>>>
>>>     On Mon, Apr 26, 2010 at 3:37 AM, Stephen Fisher
>>>     <steve@xxxxxxxxxxxxxxxxxx <mailto:steve@xxxxxxxxxxxxxxxxxx>> 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@xxxxxxxxxxxxx>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
            mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe