Wireshark-dev: Re: [Wireshark-dev] The RSVD dissector and 32-bit builds ...
From: Evan Huus <eapache@xxxxxxxxx>
Date: Mon, 16 Feb 2015 10:11:24 -0500
On Mon, Feb 16, 2015 at 10:08 AM, Richard Sharpe
<realrichardsharpe@xxxxxxxxx> wrote:
> On Mon, Feb 16, 2015 at 6:55 AM, Evan Huus <eapache@xxxxxxxxx> wrote:
>> Create the wmem_map using g_int64_equal instead of g_direct_equal and
>> wmem_int64_hash instead of g_direct_hash. Create a wmem_file_scope()
>> copy of the key, and pass the resulting pointer to the insert
>> function.
>
> Hmmm, why do we need a wmem_file_scope() copy of the key? We get the
> key in each request and response and I don't store the key anywhere.

The map itself has to store the key in order to use it for future
lookups. When the key is only 32 bits you can make the pointer itself
store the key, and since the pointer gets copied you don't need an
explicit copy of the key. But when the pointer is just a pointer, you
need a file-scope copy of the key.