| commit | 6539b3801d983491034526d63d3e1b544acf706b | [log] [tgz] |
|---|---|---|
| author | Rob Shearman <rob@codeweavers.com> | Sun Nov 11 12:28:41 2007 +0000 |
| committer | Alexandre Julliard <julliard@winehq.org> | Mon Nov 12 12:54:04 2007 +0100 |
| tree | 6ff1dc1c310187362f0f7f5b27fd65009ab7b205 | |
| parent | 277909931999cf93487a000fd539eedc31bae62c [diff] |
oleaut32: Handle non-byref safe arrays in VARIANT_UserFree.
diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c index 49381b3..3f84fab 100644 --- a/dlls/oleaut32/usrmarshal.c +++ b/dlls/oleaut32/usrmarshal.c
@@ -661,7 +661,12 @@ if (!ref) return; if(vt & VT_ARRAY) - LPSAFEARRAY_UserFree(pFlags, V_ARRAYREF(pvar)); + { + if (vt & VT_BYREF) + LPSAFEARRAY_UserFree(pFlags, V_ARRAYREF(pvar)); + else + LPSAFEARRAY_UserFree(pFlags, &V_ARRAY(pvar)); + } else { switch (vt)