summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2022-02-28 09:15:10 +0000
committerMichael Stahl <michael.stahl@allotropia.de>2022-04-01 14:50:31 +0200
commit3abe0470b747868589dbe04e1ed03739ce502e74 (patch)
treebaa558c8096d3e9147dc7566433aa4d050e5df8e
parentkeep paragraph's that failed to load until import is complete (diff)
downloadcore-3abe0470b747868589dbe04e1ed03739ce502e74.tar.gz
core-3abe0470b747868589dbe04e1ed03739ce502e74.zip
ensure null terminator
LIBREOFFICE-WB8DT2Q9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130668 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins (cherry picked from commit 4b6956ca146f25b746f63c176b377d3c15d204ff) Change-Id: I98529325bbd3ff475ba84b4991eb17240440df4b (cherry picked from commit 918c4a49fa841f0d234b18234d946684fe6378af)
-rw-r--r--sc/source/filter/lotus/op.cxx11
1 files changed, 3 insertions, 8 deletions
diff --git a/sc/source/filter/lotus/op.cxx b/sc/source/filter/lotus/op.cxx
index 7033f6da0550..40f01ab37556 100644
--- a/sc/source/filter/lotus/op.cxx
+++ b/sc/source/filter/lotus/op.cxx
@@ -583,14 +583,9 @@ void OP_SheetName123(LotusContext& rContext, SvStream& rStream, sal_uInt16 nLeng
SCTAB nSheetNum = static_cast<SCTAB>(nDummy);
rContext.pDoc->MakeTable(nSheetNum);
- ::std::vector<sal_Char> sSheetName;
- sSheetName.reserve(nLength-4);
- for (sal_uInt16 i = 4; i < nLength; ++i)
- {
- sal_Char c;
- rStream.ReadChar( c );
- sSheetName.push_back(c);
- }
+ const size_t nStrLen = nLength - 4;
+ std::vector<sal_Char> sSheetName(nStrLen + 1);
+ sSheetName[rStream.ReadBytes(sSheetName.data(), nStrLen)] = 0;
if (!sSheetName.empty())
{