Module: vkd3d Branch: master Commit: 8fe6d2eeac9fd6cc1904ba12e0cb5800e2ccd946 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/8fe6d2eeac9fd6cc1904ba12e0cb58...
Author: Conor McCarthy cmccarthy@codeweavers.com Date: Thu Jul 13 11:41:04 2023 +1000
vkd3d-shader/dxil: Return an error from sm6_parser_globals_init() on invalid operand count.
---
libs/vkd3d-shader/dxil.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/dxil.c b/libs/vkd3d-shader/dxil.c index 53a4c2da..7011cd56 100644 --- a/libs/vkd3d-shader/dxil.c +++ b/libs/vkd3d-shader/dxil.c @@ -1767,7 +1767,8 @@ static enum vkd3d_result sm6_parser_globals_init(struct sm6_parser *sm6) break;
case MODULE_CODE_VERSION: - dxil_record_validate_operand_count(record, 1, 1, sm6); + if (!dxil_record_validate_operand_count(record, 1, 1, sm6)) + return VKD3D_ERROR_INVALID_SHADER; if ((version = record->operands[0]) != 1) { FIXME("Unsupported format version %#"PRIx64".\n", version);