From: Fabian Maurer dark.shadow4@web.de
--- libs/vkd3d-shader/dxil.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libs/vkd3d-shader/dxil.c b/libs/vkd3d-shader/dxil.c index a1065c8bc..de81b911b 100644 --- a/libs/vkd3d-shader/dxil.c +++ b/libs/vkd3d-shader/dxil.c @@ -3171,8 +3171,10 @@ static void sm6_parser_emit_binop(struct sm6_parser *sm6, const struct dxil_reco unsigned int i = 0;
a = sm6_parser_get_value_by_ref(sm6, record, NULL, &i); + if (!a) + return; b = sm6_parser_get_value_by_ref(sm6, record, a->type, &i); - if (!a || !b) + if (!b) return;
if (!dxil_record_validate_operand_count(record, i + 1, i + 2, sm6)) @@ -3963,8 +3965,10 @@ static void sm6_parser_emit_cmp2(struct sm6_parser *sm6, const struct dxil_recor }
a = sm6_parser_get_value_by_ref(sm6, record, NULL, &i); + if (!a) + return; b = sm6_parser_get_value_by_ref(sm6, record, a->type, &i); - if (!a || !b) + if (!b) return;
if (!dxil_record_validate_operand_count(record, i + 1, i + 2, sm6))