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.