diff options
author | Tor Lillqvist <tml@iki.fi> | 2018-11-21 13:54:28 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2018-11-22 22:03:31 +0200 |
commit | 54c2e3c83ab08ebe6179561e057e5189a842a631 (patch) | |
tree | 779b4d6ea20c4fa661698a00fb3aca214101701c /sfx2 | |
parent | 3afe0c79fa185a6fe01c48e427c49b12728e8c4a (diff) |
Don't create temp file in save destination folder when sandboxed
In a sandboxed environment we don't want to attempt to create
temporary files in the same directory where the user has selected an
output file to be stored. The sandboxed process has permission only to
create the specifically named output file that the user chose in the
system file dialog in that directory.
Change-Id: I65274b4c433bd66b436429bea4b287a0505b72c9
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/doc/docfile.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx index 61e92a3e0d5f..144fe50aa64c 100644 --- a/sfx2/source/doc/docfile.cxx +++ b/sfx2/source/doc/docfile.cxx @@ -1,4 +1,4 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ /* * This file is part of the LibreOffice project. * @@ -3506,6 +3506,11 @@ OUString GetLogicBase(std::unique_ptr<SfxMedium_Impl> const & pImpl) { OUString aLogicBase; +// In a sandboxed environment we don't want to attempt to create temporary files in the same +// directory where the user has selected an output file to be stored. The sandboxed process has +// permission only to create the specifically named output file in that directory. +#if !HAVE_FEATURE_MACOSX_SANDBOX + if (comphelper::isFileUrl(pImpl->m_aLogicName) && !pImpl->m_pInStream) { // Try to create the temp file in the same directory when storing. @@ -3521,6 +3526,8 @@ OUString GetLogicBase(std::unique_ptr<SfxMedium_Impl> const & pImpl) // Embedded objects would mean a special base, ignore that. aLogicBase.clear(); +#endif // !HAVE_FEATURE_MACOSX_SANDBOX + return aLogicBase; } } |