diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-02-06 21:21:30 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-02-07 10:05:19 +0100 |
commit | c99527385acf367c748b3dcf3e6a3bb8103f5eee (patch) | |
tree | 67234b33ddc2bd5c42dd64bc2756ff6dd2364689 /package/source | |
parent | d4e1802c620e3cddb2e7a9f6a573a5a4770bc7a4 (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/49321
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'package/source')
-rw-r--r-- | package/source/zipapi/ZipFile.cxx | 8 |
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(); |