From ddb433d552782cdb710c6e3b18277c58d8c69272 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Sat, 7 Jun 2025 23:11:09 +0200 Subject: [PATCH] vkd3d-shader/fx: Explicitly check all known state assignment types for fx_2_0. Signed-off-by: Nikolay Sivov --- libs/vkd3d-shader/fx.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/vkd3d-shader/fx.c b/libs/vkd3d-shader/fx.c index ae04ad58f..777548daf 100644 --- a/libs/vkd3d-shader/fx.c +++ b/libs/vkd3d-shader/fx.c @@ -4339,7 +4339,7 @@ static void fx_parse_fx_2_complex_state(struct fx_parser *parser) { fx_parse_fx_2_array_selector(parser); } - else + else if (state.assignment_type == FX_2_ASSIGNMENT_CODE_BLOB) { size = fx_parser_read_u32(parser); vkd3d_string_buffer_printf(&parser->buffer, "blob size %u\n", size); @@ -4347,6 +4347,11 @@ static void fx_parse_fx_2_complex_state(struct fx_parser *parser) fx_dump_blob(parser, data, size); fx_parser_skip(parser, align(size, 4)); } + else + { + fx_parser_error(parser, VKD3D_SHADER_ERROR_FX_INVALID_DATA, + "Unknown state assignment type %u.", state.assignment_type); + } } static void fx_2_parse(struct fx_parser *parser)