diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-10-03 11:53:48 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-10-03 11:54:33 +0100 |
commit | c4d1a99ec667bdd661669afd72a708bd9a963db2 (patch) | |
tree | 3758462c8cd17731c62875278eae528409975e9d /sc/source | |
parent | 4eb26f9cae2aacc8d672884283460e86e5c331ca (diff) |
fix crash on loading certain xls
Change-Id: I4f4563b07109df7e2288458cf8adda37582262cf
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/filter/excel/impop.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx index 9b11b315de9f..cc3c312b010e 100644 --- a/sc/source/filter/excel/impop.cxx +++ b/sc/source/filter/excel/impop.cxx @@ -1026,17 +1026,21 @@ void ImportExcel::Array34() aIn.Ignore( (GetBiff() >= EXC_BIFF5) ? 6 : 2 ); nFormLen = aIn.ReaduInt16(); + const ScTokenArray* pErgebnis = nullptr; + if( ValidColRow( nLastCol, nLastRow ) ) { // the read mark is now on the formula, length in nFormLen - const ScTokenArray* pErgebnis; pFormConv->Reset( ScAddress( static_cast<SCCOL>(nFirstCol), static_cast<SCROW>(nFirstRow), GetCurrScTab() ) ); pFormConv->Convert( pErgebnis, maStrm, nFormLen, true, FT_CellFormula); - OSL_ENSURE( pErgebnis, "+ImportExcel::Array34(): ScTokenArray is NULL!" ); + SAL_WARN_IF(!pErgebnis, "sc", "+ImportExcel::Array34(): ScTokenArray is NULL!"); + } + if (pErgebnis) + { ScDocumentImport& rDoc = GetDocImport(); ScRange aArrayRange(nFirstCol, nFirstRow, GetCurrScTab(), nLastCol, nLastRow, GetCurrScTab()); rDoc.setMatrixCells(aArrayRange, *pErgebnis, formula::FormulaGrammar::GRAM_ENGLISH_XL_A1); |