On Mon, Aug 05, 2019 at 05:18:32PM +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).
> 
> The entry.hash field isn't needed by the delete_function, so just stop
> populating it.

delete_function is a callback, so it is up to the caller whether it
makes use it or not.  We also would have to add a comment somewhere
about this exception.

Seems to me this is a bug of not calling hash correctly when
`sizeof(void *) != 8`.  To fix we should do like in
hash_table_u64_search() and create a temporary local struct
hash_key_u64 in that case.


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

Reply via email to