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/+/91166
diff --git a/sc/source/core/tool/interpr8.cxx b/sc/source/core/tool/interpr8.cxx
index 9738c2c..ce4234d 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;