sc/source/core/inc/interpre.hxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
New commits: commit 28cc9746a9639ac14d3f6816b7fbf59cacbb42f4 Author: Eike Rathke <er...@redhat.com> AuthorDate: Thu Oct 25 22:48:03 2018 +0200 Commit: Eike Rathke <er...@redhat.com> CommitDate: Fri Oct 26 01:27:00 2018 +0200 Change kScInterpreterMaxStrLen now result string length limit to 256MB This is arbitrary. Change-Id: I88875e674464984c174e27fa6038080cc7366ecf Reviewed-on: https://gerrit.libreoffice.org/62375 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx index 85f96435ba9a..c7bcfb9a7d91 100644 --- a/sc/source/core/inc/interpre.hxx +++ b/sc/source/core/inc/interpre.hxx @@ -91,7 +91,8 @@ class SharedStringPool; } -constexpr sal_Int32 kScInterpreterMaxStrLen = SAL_MAX_UINT16; +/// Arbitrary 256MB result string length limit. +constexpr sal_Int32 kScInterpreterMaxStrLen = SAL_MAX_INT32 / 8; #define MAXSTACK (4096 / sizeof(formula::FormulaToken*)) @@ -1102,7 +1103,7 @@ inline sal_Int32 ScInterpreter::GetStringPositionArgument() inline bool ScInterpreter::CheckStringResultLen( OUString& rResult, const OUString& rAdd ) { - if ( rResult.getLength() + rAdd.getLength() > kScInterpreterMaxStrLen ) + if (rAdd.getLength() > kScInterpreterMaxStrLen - rResult.getLength()) { SetError( FormulaError::StringOverflow ); rResult.clear(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits