3 Nov
2022
3 Nov
'22
12:17 p.m.
Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
+ + if (abbrev_id >= block->abbrev_count) + { + FIXME("Invalid abbreviation id %u.\n", abbrev_id); + return false; + } + + abbrev = block->abbrevs[abbrev_id]; + if (!(count = abbrev->count)) + return true; + if (count == 1 && abbrev->is_array) + return false; + + /* First operand is the record code. The array is included in the count, but will be done separately. */ + count -= abbrev->is_array + 1; + if (!(record = vkd3d_malloc(sizeof(*record) + count * sizeof(record->operands[0])))) `record` is leaked in a number of failure paths.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/44#note_12962