From fd854c1add853eb3363d735da2faca9c9c092e4c Mon Sep 17 00:00:00 2001 From: Mark Janes Date: Fri, 13 May 2016 13:04:56 -0700 Subject: [PATCH] i965: check tcs for NULL dereference Coverity issue 1361544 found an instance where the tcs variable is checked for NULL, but unconditionally dereferenced later in the same function. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_tcs.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_tcs.c b/src/mesa/drivers/dri/i965/brw_tcs.c index e8178c6daab..9589fa5edeb 100644 --- a/src/mesa/drivers/dri/i965/brw_tcs.c +++ b/src/mesa/drivers/dri/i965/brw_tcs.c @@ -278,14 +278,16 @@ brw_codegen_tcs_prog(struct brw_context *brw, if (unlikely(brw->perf_debug)) { struct brw_shader *btcs = (struct brw_shader *) tcs; - if (btcs->compiled_once) { - brw_tcs_debug_recompile(brw, shader_prog, key); + if (btcs) { + if (btcs->compiled_once) { + brw_tcs_debug_recompile(brw, shader_prog, key); + } + btcs->compiled_once = true; } if (start_busy && !drm_intel_bo_busy(brw->batch.last_bo)) { perf_debug("TCS compile took %.03f ms and stalled the GPU\n", (get_time() - start_time) * 1000); } - btcs->compiled_once = true; } /* Scratch space is used for register spilling */ -- 2.30.2