[Bug 36136] oleaut32/tests/vartest.c test shows a couple leaks with valgrind
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Mar 29 19:54:44 CDT 2016
https://bugs.winehq.org/show_bug.cgi?id=36136
Austin English <austinenglish at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Fixed by SHA1| |29eace89e9d6379a4ca33a8ea5d
| |121ab7ccec99e
--- Comment #2 from Austin English <austinenglish at gmail.com> ---
(In reply to Nikolay Sivov from comment #1)
> (In reply to Austin English from comment #0)
> > ==30829== 0 bytes in 1 blocks are definitely lost in loss record 1 of 290
> > ==30829== at 0x7BC4C735: notify_alloc (heap.c:255)
> > ==30829== by 0x7BC50F79: RtlAllocateHeap (heap.c:1716)
> > ==30829== by 0x4FE7CE0: VARIANT_CopyIRecordInfo (variant.c:717)
> > ==30829== by 0x4FE7FE8: VariantCopy (variant.c:781)
> > ==30829== by 0x4C7D051: test_VariantCopy (vartest.c:907)
> > ==30829== by 0x4CD19F3: func_vartest (vartest.c:8964)
> > ==30829== by 0x4D35F00: run_test (test.h:584)
> > ==30829== by 0x4D362EF: main (test.h:654)
> > ==30829==
>
> This is a result of a mess that IRecordInfo is. VariantCopy() uses source
> record interface pointer, then allocates a block, and does RecordCopy() on
> it. The problem is that block is allocated not by RecordCreate() or
> RecordCreateCopy() but using some generic allocator, we have tests that
> IRecordInfo methods are not used for that. As a result we can't deallocate
> it in a clean way, since allocation method is unknown. It could be possible
> to use HeapSize()-like way to figure out if it's generic Heap* or CoTaskMem*
> heap, but I vaguely remember using HeapSize() in tests was discouraged. I
> suggest to suppress it for now, putting this explanation or a bug reference
> to suppression list for the future.
Okay, thanks.
> >
> > ==30829== 16 bytes in 1 blocks are definitely lost in loss record 53 of 290
> > ==30829== at 0x7BC4C735: notify_alloc (heap.c:255)
> > ==30829== by 0x7BC50F79: RtlAllocateHeap (heap.c:1716)
> > ==30829== by 0x4F980FA: alloc_bstr (oleaut.c:162)
> > ==30829== by 0x4F98490: SysAllocStringLen (oleaut.c:324)
> > ==30829== by 0x4CAD36B: test_VarCat (vartest.c:5952)
> > ==30829== by 0x4CD1A70: func_vartest (vartest.c:8989)
> > ==30829== by 0x4D35F00: run_test (test.h:584)
> > ==30829== by 0x4D362EF: main (test.h:654)
> > ==30829==
>
> This is likely fixed with
> http://source.winehq.org/git/wine.git/commit/
> 29eace89e9d6379a4ca33a8ea5d121ab7ccec99e, I don't see it in current log
> anymore.
Me either.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list