Module: wine Branch: master Commit: bb08a58965d7c044380aa356b624e3dd778a78f4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bb08a58965d7c044380aa356b6...
Author: Rob Shearman rob@codeweavers.com Date: Mon Mar 19 14:58:11 2007 +0000
oleaut32: Clear the input pvar structure in VARIANT_UserUnmarshal to free the data instead of just initializing.
---
dlls/oleaut32/tests/usrmarshal.c | 1 - dlls/oleaut32/usrmarshal.c | 2 +- 2 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/dlls/oleaut32/tests/usrmarshal.c b/dlls/oleaut32/tests/usrmarshal.c index 1a9d25c..a168d8f 100644 --- a/dlls/oleaut32/tests/usrmarshal.c +++ b/dlls/oleaut32/tests/usrmarshal.c @@ -1188,7 +1188,6 @@ static void test_marshal_VARIANT(void) V_VT(V_VARIANTREF(&v)), V_VT(V_VARIANTREF(&v3))); ok(V_R8(V_VARIANTREF(&v)) == V_R8(V_VARIANTREF(&v3)), "r8s differ\n"); VARIANT_UserFree(&umcb.Flags, &v3); - todo_wine ok(heap_unknown->refs == 1, "%d refcounts of IUnknown leaked\n", heap_unknown->refs - 1); IUnknown_Release((IUnknown *)heap_unknown); } diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c index 71d7d6b..eea46c6 100644 --- a/dlls/oleaut32/usrmarshal.c +++ b/dlls/oleaut32/usrmarshal.c @@ -554,7 +554,7 @@ unsigned char * WINAPI VARIANT_UserUnmarshal(ULONG *pFlags, unsigned char *Buffe TRACE("(%x,%p,%p)\n", *pFlags, Buffer, pvar);
ALIGN_POINTER(Buffer, 7); - VariantInit(pvar); + VariantClear(pvar);
header = (variant_wire_t *)Buffer;