On Wed, Aug 07, 2019 at 10:36:53AM +0200, Tomeu Vizoso wrote:
> Some hash functions (eg. key_u64_hash) will attempt to dereference the
> key, causing an invalid access when passed DELETED_KEY_VALUE (0x1) or
> FREED_KEY_VALUE (0x0).
> 
> To avoid this problem, stuff the fake keys into a hash_key_u64 struct
> and pass the pointer to it instead.

A more precise description would be something along the lines

   When in 32-bit arch a 64-bit key value doesn't fit into a pointer,
   so hash_table_u64 internally use a pointer to a struct containing
   the 64-bit key value.

   Fix _mesa_hash_table_u64_clear() to handle the 32-bit case by
   creating a temporary hash_key_u64 to pass to the hash function.


This patch is

   Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>


        Caio
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to