From 4ebf0d11c24b57c8eb362b4f7391be49b93bae69 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Wed, 27 May 2020 16:19:25 -0700 Subject: [PATCH] zink: Check fopen result. Fix warning reported by Coverity. Dereference null return value (NULL_RETURNS) dereference: Dereferencing a pointer that might be NULL fp when calling fwrite. Fixes: 8d46e35d16e3 ("zink: introduce opengl over vulkan") Signed-off-by: Vinson Lee Reviewed-by: Erik Faye-Lund Part-of: (cherry picked from commit a2ee293422c09c9ecc8150ad70d29273e28c6a71) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_compiler.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index fd16d7a98dd..6d9060939cf 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3901,7 +3901,7 @@ "description": "zink: Check fopen result.", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "8d46e35d16e3936968958bcab86d61967a673305" }, diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 5db5ba3fe0a..73ede848b97 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -277,9 +277,11 @@ zink_compile_nir(struct zink_screen *screen, struct nir_shader *nir) static int i; snprintf(buf, sizeof(buf), "dump%02d.spv", i++); FILE *fp = fopen(buf, "wb"); - fwrite(spirv->words, sizeof(uint32_t), spirv->num_words, fp); - fclose(fp); - fprintf(stderr, "wrote '%s'...\n", buf); + if (fp) { + fwrite(spirv->words, sizeof(uint32_t), spirv->num_words, fp); + fclose(fp); + fprintf(stderr, "wrote '%s'...\n", buf); + } } VkShaderModuleCreateInfo smci = {};