Piotr Caban : msvcp90: Fixed a memory leak in virtual destructor tests.

Alexandre Julliard julliard at winehq.org
Mon Nov 12 14:14:39 CST 2012


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Sat Nov 10 00:00:23 2012 +0100

msvcp90: Fixed a memory leak in virtual destructor tests.

---

 dlls/msvcp90/tests/misc.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/dlls/msvcp90/tests/misc.c b/dlls/msvcp90/tests/misc.c
index 19dcdde..5188fd5 100644
--- a/dlls/msvcp90/tests/misc.c
+++ b/dlls/msvcp90/tests/misc.c
@@ -96,6 +96,7 @@ static /*basic_ostringstream_char*/void* (__thiscall *p_basic_ostringstream_char
         /*basic_ostringstream_char*/void*, int, /*MSVCP_bool*/int);
 static void (__thiscall *p_basic_ostringstream_char_dtor)(/*basic_ostringstream_char*/void*);
 static void (__thiscall *p_basic_ostringstream_char_vbase_dtor)(/*basic_ostringstream_char*/void*);
+static void (__thiscall *p_basic_ios_char_dtor)(/*basic_ios_char*/void*);
 
 static int invalid_parameter = 0;
 static void __cdecl test_invalid_parameter_handler(const wchar_t *expression,
@@ -223,6 +224,8 @@ static BOOL init(void)
                 "??1?$basic_ostringstream at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@UEAA at XZ");
         SET(p_basic_ostringstream_char_vbase_dtor,
                 "??_D?$basic_ostringstream at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QEAAXXZ");
+        SET(p_basic_ios_char_dtor,
+                "??1?$basic_ios at DU?$char_traits at D@std@@@std@@UEAA at XZ");
     } else {
         SET(p_char_assign, "?assign@?$char_traits at D@std@@SAXAADABD at Z");
         SET(p_wchar_assign, "?assign@?$char_traits at _W@std@@SAXAA_WAB_W at Z");
@@ -258,6 +261,8 @@ static BOOL init(void)
                 "??1?$basic_ostringstream at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@UAE at XZ");
         SET(p_basic_ostringstream_char_vbase_dtor,
                 "??_D?$basic_ostringstream at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEXXZ");
+        SET(p_basic_ios_char_dtor,
+                "??1?$basic_ios at DU?$char_traits at D@std@@@std@@UAE at XZ");
     }
 
     init_thiscall_thunk();
@@ -503,8 +508,10 @@ static void test_virtual_base_dtors(void)
     call_func3(p_basic_ostringstream_char_ctor_mode, this, 0, 1);
     call_func1(p_basic_ostringstream_char_vbase_dtor, this);
 
+    /* this test uses vbtable set by earlier test */
     call_func3(p_basic_ostringstream_char_ctor_mode, this, 0, 0);
     call_func1(p_basic_ostringstream_char_dtor, this+basic_ostringstream_char_vbtable[1]);
+    call_func1(p_basic_ios_char_dtor, this+((int**)this)[0][1]);
 }
 
 START_TEST(misc)




More information about the wine-cvs mailing list