Apache OpenOffice (AOO) Bugzilla – Issue 106130
svx: .ppt import. Crash when objects deleted when merged into a table are accessed
Last modified: 2017-05-20 10:29:23 UTC
So, in this attached .ppt some objects get converted into a table with CreateTable, but pointers to the object still exist in SvxMSDffManager and are lookup by id later on. Attached is a patch to remove these objects after the merge. (Even if this isn't the right patch, or an alternative fix is used the replacement implementation for SvxMSDffManager::removeShapeId should be used as the current one is obviously wrong as the current one only examines the first entry in the map
Created attachment 65498 [details] workaround patch
Created attachment 65499 [details] reproducer
given our custom allocator this might not crash every time as the object's memory might not be handed back out or otherwise reclaimed yet but adding some debug to SdrObject::~SdrObject and getShapeId will show the deletion and subsequent hand back of the deleted pointer with id 0x1c07
I have nominated this issue as stopper for OOo3.2, so hopefully I can integrate this patch with cws[impress180]
set target
if pointers to SdrObjects will fail you... SdrObjectWeakRef won't
This issue has been fixed now in cws[impress180]. For the release I do not want to change so much, so I will use the marvellousness ref shapes next time.
sj->wg: this issue is ready to be verified in cws[impress180]
Verified in CWS.