summaryrefslogtreecommitdiff
path: root/sc/source/filter
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-09-28 01:21:41 +0200
committerMichael Meeks <michael.meeks@suse.com>2012-10-01 10:15:35 +0100
commit6232eeaa90643f2e067145296f8e97fb16f7ecf5 (patch)
tree066f1dea3c21328575b244c706ee1f63aa798d80 /sc/source/filter
parent115add85ea9e16623a3580e3343499d0ff444a45 (diff)
ooxml spec allow ext ref to non existent entry, fdo#54558
Change-Id: I717917d04a93975472d60248eb61066cd04d1bbe Signed-off-by: Michael Meeks <michael.meeks@suse.com>
Diffstat (limited to 'sc/source/filter')
-rw-r--r--sc/source/filter/oox/extlstcontext.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/sc/source/filter/oox/extlstcontext.cxx b/sc/source/filter/oox/extlstcontext.cxx
index 740a841d3b33..d5cc534079ac 100644
--- a/sc/source/filter/oox/extlstcontext.cxx
+++ b/sc/source/filter/oox/extlstcontext.cxx
@@ -170,7 +170,13 @@ ContextHandlerRef ExtGlobalContext::onCreateContext( sal_Int32 nElement, const A
if(nElement == XLS_EXT_TOKEN( cfRule ))
{
rtl::OUString aId = rAttribs.getString( XML_id, rtl::OUString() );
- void* pInfo = getExtLst().find( aId )->second;
+
+ // an ext entrie does not need to have an existing corresponding entry
+ ExtLst::const_iterator aExt = getExtLst().find( aId );
+ if(aExt == getExtLst().end())
+ return NULL;
+
+ void* pInfo = aExt->second;
if (!pInfo)
{
return NULL;