diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 32f9e6cd5ec..2ea5925ad52 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -7642,12 +7642,14 @@ spirv_to_nir(const uint32_t *words, size_t word_count, replacement_size = ftell(f); if (replacement_size == 0) { vtn_info("Replacement SPIR-V shader file %s is empty.", filename); + fclose(f); goto no_shader_replace; } uint32_t *replacement_words = malloc(replacement_size); if (replacement_words == NULL) { vtn_err("Failed to allocate memory for replacement SPIR-V shader %s", filename); + fclose(f); goto no_shader_replace; }