Module: wine Branch: master Commit: c49f09d6f8f84cccd02a131e2ca7b10d81334aff URL: http://source.winehq.org/git/wine.git/?a=commit;h=c49f09d6f8f84cccd02a131e2c...
Author: Rico Schüller kgbricola@web.de Date: Tue Apr 12 21:24:55 2011 +0200
d3dcompiler: Fix HeapAlloc/HeapFree for type members in the reflection parser.
---
dlls/d3dcompiler_43/reflection.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/dlls/d3dcompiler_43/reflection.c b/dlls/d3dcompiler_43/reflection.c index ea01e24..5dd7c38 100644 --- a/dlls/d3dcompiler_43/reflection.c +++ b/dlls/d3dcompiler_43/reflection.c @@ -235,6 +235,7 @@ static void d3dcompiler_shader_reflection_type_destroy(struct wine_rb_entry *ent { free_type_member(&t->members[i]); } + HeapFree(GetProcessHeap(), 0, t->members); }
HeapFree(GetProcessHeap(), 0, t); @@ -1235,7 +1236,7 @@ static HRESULT d3dcompiler_parse_type(struct d3dcompiler_shader_reflection_type { const char *ptr2 = data + member_offset;
- members = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*members)); + members = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*members) * desc->Members); if (!members) { ERR("Failed to allocate type memory.\n");