summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Reding <treding@nvidia.com>2018-02-28 15:22:19 +0100
committerThierry Reding <treding@nvidia.com>2018-05-02 17:29:39 +0200
commitce22e300cb51330f9a6bdb52f4f8f858dce1a575 (patch)
tree5112767599fd42809f1c0b1e50b64ec1027bf5eb
parent76d90d97db5c2e5c6091e8e18ac3b7dc6a95cd74 (diff)
etnaviv: Avoid dereferencing type-punned pointer
Use proper types directly rather than casts to avoid warnings from GCC about potentially breaking strict-aliasing rules: etnaviv/etnaviv_bo.c: In function 'lookup_bo': etnaviv/etnaviv_bo.c:71:2: warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing] if (!drmHashLookup(tbl, handle, (void **)&bo)) { ^~ Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r--etnaviv/etnaviv_bo.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/etnaviv/etnaviv_bo.c b/etnaviv/etnaviv_bo.c
index 32f7b348..69e48807 100644
--- a/etnaviv/etnaviv_bo.c
+++ b/etnaviv/etnaviv_bo.c
@@ -63,10 +63,11 @@ drm_private void bo_del(struct etna_bo *bo)
static struct etna_bo *lookup_bo(void *tbl, uint32_t handle)
{
struct etna_bo *bo = NULL;
+ void *value;
- if (!drmHashLookup(tbl, handle, (void **)&bo)) {
+ if (!drmHashLookup(tbl, handle, &value)) {
/* found, incr refcnt and return: */
- bo = etna_bo_ref(bo);
+ bo = etna_bo_ref(value);
/* don't break the bucket if this bo was found in one */
list_delinit(&bo->list);