summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-10-05 09:03:16 +0100
committerEike Rathke <erack@redhat.com>2015-10-05 08:57:57 +0000
commitddd5614f8c4b95c2b2e902b028060425b1bbc7dc (patch)
tree3e80aaf2b2ef7e3175bea6dd996bf918836f4014
parent935c1294c21db82a6b96836057cd3a2e66351e89 (diff)
fix crash in XclImpSupbook::GetExternName
Change-Id: I1b6f8d5190fae16bdeb1def7887d3121dad6bc16 (cherry picked from commit 75304346823ed4d5b6c7415b2f78e4022fdd8e72) Reviewed-on: https://gerrit.libreoffice.org/19147 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
-rw-r--r--sc/qa/unit/data/xls/pass/crash-7.xlsbin0 -> 4109 bytes
-rw-r--r--sc/source/filter/excel/xilink.cxx6
2 files changed, 5 insertions, 1 deletions
diff --git a/sc/qa/unit/data/xls/pass/crash-7.xls b/sc/qa/unit/data/xls/pass/crash-7.xls
new file mode 100644
index 000000000000..3dd200a41cdd
--- /dev/null
+++ b/sc/qa/unit/data/xls/pass/crash-7.xls
Binary files differ
diff --git a/sc/source/filter/excel/xilink.cxx b/sc/source/filter/excel/xilink.cxx
index 1232b97de518..fce7ba4edc5c 100644
--- a/sc/source/filter/excel/xilink.cxx
+++ b/sc/source/filter/excel/xilink.cxx
@@ -703,7 +703,11 @@ void XclImpSupbook::ReadExternname( XclImpStream& rStrm, ExcelToSc* pFormulaConv
const XclImpExtName* XclImpSupbook::GetExternName( sal_uInt16 nXclIndex ) const
{
- OSL_ENSURE( nXclIndex > 0, "XclImpSupbook::GetExternName - index must be >0" );
+ if (nXclIndex == 0)
+ {
+ SAL_WARN("sc", "XclImpSupbook::GetExternName - index must be >0");
+ return NULL;
+ }
if (meType == EXC_SBTYPE_SELF || nXclIndex > maExtNameList.size())
return NULL;
return &maExtNameList[nXclIndex-1];