diff options
-rw-r--r-- | sc/source/core/data/documen5.cxx | 3 | ||||
-rw-r--r-- | sc/source/core/data/document.cxx | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/sc/source/core/data/documen5.cxx b/sc/source/core/data/documen5.cxx index 0bb9379ea99a..76598f887443 100644 --- a/sc/source/core/data/documen5.cxx +++ b/sc/source/core/data/documen5.cxx @@ -529,7 +529,8 @@ void ScDocument::SetChartRangeList( const OUString& rChartName, bool ScDocument::HasData( SCCOL nCol, SCROW nRow, SCTAB nTab ) { - if ( ValidTab(nTab) && nTab < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab]) + if ( ValidTab(nTab) && nTab < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab] + && nCol < maTabs[nTab]->GetAllocatedColumnsCount()) return maTabs[nTab]->HasData( nCol, nRow ); else return false; diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index 134e5998ef22..d9cd4417f067 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -3765,7 +3765,8 @@ void ScDocument::GetCellType( SCCOL nCol, SCROW nRow, SCTAB nTab, bool ScDocument::HasStringData( SCCOL nCol, SCROW nRow, SCTAB nTab ) const { - if ( ValidTab(nTab) && nTab < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab] ) + if ( ValidTab(nTab) && nTab < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab] + && nCol < maTabs[nTab]->GetAllocatedColumnsCount()) return maTabs[nTab]->HasStringData( nCol, nRow ); else return false; @@ -3773,7 +3774,8 @@ bool ScDocument::HasStringData( SCCOL nCol, SCROW nRow, SCTAB nTab ) const bool ScDocument::HasValueData( SCCOL nCol, SCROW nRow, SCTAB nTab ) const { - if ( ValidTab(nTab) && nTab < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab] ) + if ( ValidTab(nTab) && nTab < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab] + && nCol < maTabs[nTab]->GetAllocatedColumnsCount()) return maTabs[nTab]->HasValueData( nCol, nRow ); else return false; |