summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-09-28 01:21:41 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-09-28 01:57:10 +0200
commitfcd85be5d5e44b00c6fa5717c7ec13ea657483d4 (patch)
treefd37f2d1cadc3eaf59abadcbd5c15fbdbc47df73 /sc
parent72846a5c528cf66f01036978bf77eabc9f039025 (diff)
ooxml spec allow ext ref to non existent entry, fdo#54558
Change-Id: I717917d04a93975472d60248eb61066cd04d1bbe
Diffstat (limited to 'sc')
-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 c1949e8af217..78fd832fc540 100644
--- a/sc/source/filter/oox/extlstcontext.cxx
+++ b/sc/source/filter/oox/extlstcontext.cxx
@@ -200,7 +200,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;