diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-03-26 15:46:07 +0000 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2020-03-27 11:42:16 +0100 |
commit | 4fe6846e1d0c2d3953b36275d39f101839c90967 (patch) | |
tree | 98512a5ac7e1000fdc9cb0629c4c7bf5f5e180c8 | |
parent | tdf#131553 a null pointer crashes Impress (diff) | |
download | core-4fe6846e1d0c2d3953b36275d39f101839c90967.tar.gz core-4fe6846e1d0c2d3953b36275d39f101839c90967.zip |
tdf#131380 crash on loading specific xlsx document
mpPerIdx is null, because bEDS is true, assume 0 in this case
Change-Id: I44c2433b0de57a28cece6b9b01ba543bdc3cb8d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91145
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
(cherry picked from commit 0f5e930fffbe2151ffadc8461449e55015617f65)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91167
-rw-r--r-- | sc/source/core/tool/interpr8.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sc/source/core/tool/interpr8.cxx b/sc/source/core/tool/interpr8.cxx index 759e5815ae0a..5e3700ce5cff 100644 --- a/sc/source/core/tool/interpr8.cxx +++ b/sc/source/core/tool/interpr8.cxx @@ -993,17 +993,18 @@ void ScETSForecastCalculation::GetETSPredictionIntervals( const ScMatrixRef& rTM // fill array with forecasts, with RandDev() added to xScenRange if ( bAdditive ) { + double nPIdx = !bEDS ? mpPerIdx[mnCount - mnSmplInPrd] : 0.0; // calculation based on additive model xScenRange[ 0 ] = mpBase[ mnCount - 1 ] + mpTrend[ mnCount - 1 ] + - mpPerIdx[ mnCount - mnSmplInPrd ] + + nPIdx + RandDev(); aPredictions[ 0 ][ k ] = xScenRange[ 0 ]; - xScenBase[ 0 ] = mfAlpha * ( xScenRange[ 0 ] - mpPerIdx[ mnCount - mnSmplInPrd ] ) + + xScenBase[ 0 ] = mfAlpha * ( xScenRange[ 0 ] - nPIdx ) + ( 1 - mfAlpha ) * ( mpBase[ mnCount - 1 ] + mpTrend[ mnCount - 1 ] ); xScenTrend[ 0 ] = mfGamma * ( xScenBase[ 0 ] - mpBase[ mnCount - 1 ] ) + ( 1 - mfGamma ) * mpTrend[ mnCount - 1 ]; xScenPerIdx[ 0 ] = mfBeta * ( xScenRange[ 0 ] - xScenBase[ 0 ] ) + - ( 1 - mfBeta ) * mpPerIdx[ mnCount - mnSmplInPrd ]; + ( 1 - mfBeta ) * nPIdx; for ( SCSIZE i = 1; i < nSize; i++ ) { double fPerIdx; |