summaryrefslogtreecommitdiffstats
path: root/oox
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2019-10-21 17:12:28 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2019-10-22 15:42:56 +0200
commita2c94755d883ed807efa4a60302762cf4c6fbefe (patch)
tree76d4e20f7c388d22b6f6fccc53418c65e53a88ea /oox
parenttdf#127741 DOCX import: format hyperlink with Default character style (diff)
downloadcore-a2c94755d883ed807efa4a60302762cf4c6fbefe.tar.gz
core-a2c94755d883ed807efa4a60302762cf4c6fbefe.zip
Rather not put unencrypted doc in a tempfile
Keep it in memory instead Change-Id: I25e5cb7183a4d192938110323e27f2f5d1d006fc Reviewed-on: https://gerrit.libreoffice.org/81253 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit bd3929da20b5a536b82b15af552864e7549f91ef) Reviewed-on: https://gerrit.libreoffice.org/81298 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'oox')
-rw-r--r--oox/source/core/filterdetect.cxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/oox/source/core/filterdetect.cxx b/oox/source/core/filterdetect.cxx
index c5ea4b385849..4537e61a93c8 100644
--- a/oox/source/core/filterdetect.cxx
+++ b/oox/source/core/filterdetect.cxx
@@ -327,20 +327,23 @@ Reference< XInputStream > FilterDetect::extractUnencryptedPackage( MediaDescript
}
else
{
- // create temporary file for unencrypted package
- Reference<XStream> xTempFile( TempFile::create(mxContext), UNO_QUERY_THROW );
+ // create MemoryStream for unencrypted package - rather not put this in a tempfile
+ Reference<XStream> const xTempStream(
+ mxContext->getServiceManager()->createInstanceWithContext(
+ "com.sun.star.comp.MemoryStream", mxContext),
+ UNO_QUERY_THROW);
// if decryption was unsuccessful (corrupted file or any other reason)
- if (!aDecryptor.decrypt(xTempFile))
+ if (!aDecryptor.decrypt(xTempStream))
{
rMediaDescriptor[ MediaDescriptor::PROP_ABORTED() ] <<= true;
}
else
{
// store temp file in media descriptor to keep it alive
- rMediaDescriptor.setComponentDataEntry( "DecryptedPackage", Any( xTempFile ) );
+ rMediaDescriptor.setComponentDataEntry( "DecryptedPackage", Any( xTempStream ) );
- Reference<XInputStream> xDecryptedInputStream = xTempFile->getInputStream();
+ Reference<XInputStream> xDecryptedInputStream = xTempStream->getInputStream();
if( lclIsZipPackage( mxContext, xDecryptedInputStream ) )
return xDecryptedInputStream;
}