https://bugs.documentfoundation.org/show_bug.cgi?id=119039
--- Comment #15 from Mike Kaganski <[email protected]> --- (In reply to Noel Grandin from comment #14) Thanks Noel! Indeed, that is the object causing the double release in its dtor; but the problem here seems to not be a missing AddRef, but rather some internal error. The object is assigned and used (and double-released) inside OleComponent::LoadEmbeddedObject. It is assigned using a path to a temporary file, which definitely exists at the moment; and the call to StgOpenStorage definitely creates an already AddRef'ed object, and is normal with all COM API that takes a void** to assign. Then in OleLoadSeh, a call to OleLoad MS API is done, and it's here where the underlying COM object is released - because of an error trying to load it. I do not know why they allow that happen at all - an error is not an excuse to manage something they didn't AddRef'd; but IMO, we need to try to find out if we can prevent the STG_E_FILENOTFOUND from OleLoadSeh. And if that fails, we could *workaround* it using an AddRef before the call, and conditional Release when it's not STG_E_FILENOTFOUND. -- You are receiving this mail because: You are the assignee for the bug.
