Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
return shader_sm6_block_handle_blockinfo_record(block, record);
- return true;
+}
+static bool shader_sm6_read_unabbrev_record(struct vkd3d_shader_parser *parser) +{
- struct vkd3d_shader_sm6_parser *sm6 = vkd3d_shader_sm6_parser(parser);
- struct vkd3d_shader_sm6_block *block = sm6->current_block;
- struct vkd3d_shader_sm6_record *record;
- unsigned int code, count, i;
- code = shader_sm6_read_vbr(parser, 6);
- count = shader_sm6_read_vbr(parser, 6);
- if (!(record = vkd3d_malloc(sizeof(*record) + count * sizeof(record->operands[0]))))
`record` is leaked if `shader_sm6_block_add_record()` fails when calling `vkd3d_array_reserve()`.