From 0a7bd14dbb8c1c44cfa31abd584f57379f609489 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Mon, 28 Sep 2020 16:16:37 -0700 Subject: [PATCH] freedreno: Move rsc NULL check to before rsc dereferences. Fix defect reported by Coverity Scan. Dereference before null check (REVERSE_INULL) check_after_deref: Null-checking rsc suggests that it may be null, but it has already been dereferenced on all paths leading to the check. Fixes: 6173cc19c45d ("freedreno: gallium driver for adreno") Signed-off-by: Vinson Lee Reviewed-by: Rob Clark Part-of: --- src/gallium/drivers/freedreno/freedreno_resource.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/freedreno/freedreno_resource.c b/src/gallium/drivers/freedreno/freedreno_resource.c index b4674dac5ed..b23f9fec3ef 100644 --- a/src/gallium/drivers/freedreno/freedreno_resource.c +++ b/src/gallium/drivers/freedreno/freedreno_resource.c @@ -1064,6 +1064,10 @@ fd_resource_from_handle(struct pipe_screen *pscreen, { struct fd_screen *screen = fd_screen(pscreen); struct fd_resource *rsc = CALLOC_STRUCT(fd_resource); + + if (!rsc) + return NULL; + struct fdl_slice *slice = fd_resource_slice(rsc, 0); struct pipe_resource *prsc = &rsc->base; @@ -1074,9 +1078,6 @@ fd_resource_from_handle(struct pipe_screen *pscreen, tmpl->array_size, tmpl->last_level, tmpl->nr_samples, tmpl->usage, tmpl->bind, tmpl->flags); - if (!rsc) - return NULL; - *prsc = *tmpl; fd_resource_layout_init(prsc);