Skip to content

oleaut32: VariantCopy/Free use IMalloc for V_RECORD.

Kevin Puetz requested to merge puetzk/wine:VariantClear-leak-VT_RECORD into master

Salvage tests and fix a leak found in another review: see !897 (comment 9175) points 1 and 2. 3. is why !897 (merged) was reverted.

This does not contain the (incorrect) changes to VariantCopyInd, but instead fixes the leak identified in VariantClear (VT_RECORD needs to free pvRecord), and the wrong allocator being used in VariantCopy (it should have been IMalloc, rather than HeapAlloc, as shown by the fact IMallocSpy observes these allocations).

This also cleans up some dubious behavior by the test IRecordInfoImpl, which was modifying a VARIANT that it did not own or receive as an argument in the middle of VariantClear. This was likely undefined behavior, and in any case concealed the heap leak.

Merge request reports

Loading