Rico Schüller : d3dcompiler: Fix HeapAlloc/ HeapFree for type members in the reflection parser.

Alexandre Julliard julliard at winehq.org
Wed Apr 13 10:49:26 CDT 2011


Module: wine
Branch: master
Commit: c49f09d6f8f84cccd02a131e2ca7b10d81334aff
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c49f09d6f8f84cccd02a131e2ca7b10d81334aff

Author: Rico Schüller <kgbricola at 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");




More information about the wine-cvs mailing list