summaryrefslogtreecommitdiff
path: root/package/source/zipapi/ZipFile.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-02-06 21:21:30 +0000
committerStephan Bergmann <sbergman@redhat.com>2018-02-07 14:12:20 +0100
commit52f549cc523e6dcf27da5a3a1ee6be89c041bdda (patch)
tree9ed8788d864405e1674b7ac0a46031dfb4e8009c /package/source/zipapi/ZipFile.cxx
parent8da5ac0dafda4aca5c221b165bfe65125ff30f17 (diff)
MemoryByteGrabber sequence has to exist for Grabber lifetime
it just takes a c++ ref, so a temp is an unsuitable arg Change-Id: I40490e94d977df91b985bc4ae458b68ee85d5dfe Reviewed-on: https://gerrit.libreoffice.org/49322 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'package/source/zipapi/ZipFile.cxx')
-rw-r--r--package/source/zipapi/ZipFile.cxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/package/source/zipapi/ZipFile.cxx b/package/source/zipapi/ZipFile.cxx
index 1d10a56aaf9c..6e9351c69f1a 100644
--- a/package/source/zipapi/ZipFile.cxx
+++ b/package/source/zipapi/ZipFile.cxx
@@ -902,7 +902,7 @@ sal_Int32 ZipFile::readCEN()
if ( static_cast < sal_Int64 > ( nCenLen ) != nRead )
throw ZipException ("Error reading CEN into memory buffer!" );
- MemoryByteGrabber aMemGrabber ( aCENBuffer );
+ MemoryByteGrabber aMemGrabber(aCENBuffer);
ZipEntry aEntry;
sal_Int16 nCommentLen;
@@ -1015,7 +1015,8 @@ void ZipFile::recover()
if ( nPos < nBufSize - 30 && pBuffer[nPos] == 'P' && pBuffer[nPos+1] == 'K' && pBuffer[nPos+2] == 3 && pBuffer[nPos+3] == 4 )
{
ZipEntry aEntry;
- MemoryByteGrabber aMemGrabber ( Sequence< sal_Int8 >( &(pBuffer[nPos+4]), 26 ) );
+ Sequence<sal_Int8> aTmpBuffer(&(pBuffer[nPos+4]), 26);
+ MemoryByteGrabber aMemGrabber(aTmpBuffer);
aEntry.nVersion = aMemGrabber.ReadInt16();
if ( ( aEntry.nVersion & 1 ) != 1 )
@@ -1084,7 +1085,8 @@ void ZipFile::recover()
else if (pBuffer[nPos] == 'P' && pBuffer[nPos+1] == 'K' && pBuffer[nPos+2] == 7 && pBuffer[nPos+3] == 8 )
{
sal_Int64 nCompressedSize, nSize;
- MemoryByteGrabber aMemGrabber ( Sequence< sal_Int8 >( &(pBuffer[nPos+4]), 12 ) );
+ Sequence<sal_Int8> aTmpBuffer(&(pBuffer[nPos+4]), 12);
+ MemoryByteGrabber aMemGrabber(aTmpBuffer);
sal_Int32 nCRC32 = aMemGrabber.ReadInt32();
sal_uInt32 nCompressedSize32 = aMemGrabber.ReadUInt32();
sal_uInt32 nSize32 = aMemGrabber.ReadUInt32();