2010/11/9 Rico Schüller kgbricola@web.de:
I made the assumption, because setting the vtbl is the first thing d3dcompiler_shader_reflection_init() does.
It is, but you're not supposed to care. Abstractions aren't very useful if you have to care about the details of their internals.
Well, a heap free isn't always enough, because there could already be allocated data to the object, which then would resolve in lost memory.
d3dcompiler_shader_reflection_init() should free anything it allocated if it's going to fail.