Module: vkd3d Branch: master Commit: 9cb43723788994631ef322c6e43b14e0c79fec18 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/9cb43723788994631ef322c6e43b14...
Author: Fabian Maurer dark.shadow4@web.de Date: Sun Dec 10 19:58:37 2023 +0100
vkd3d-shader/dxil: Check null pointer before it is dereferenced (Coverity).
---
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 9d1c69f1..4175a1af 100644 --- a/libs/vkd3d-shader/dxil.c +++ b/libs/vkd3d-shader/dxil.c @@ -3202,8 +3202,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)) @@ -3994,8 +3996,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))