[Libreoffice-commits] core.git: Branch 'libreoffice-6-1-1' - sfx2/qa sfx2/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Tue Sep 4 08:26:51 UTC 2018
sfx2/qa/cppunit/test_misc.cxx | 8 ++++++++
sfx2/source/doc/docfile.cxx | 4 +++-
2 files changed, 11 insertions(+), 1 deletion(-)
New commits:
commit 24177b61e7839a7b9726aed08997b44d08e89f10
Author: Miklos Vajna <vmiklos at collabora.co.uk>
AuthorDate: Tue Aug 28 09:05:06 2018 +0200
Commit: Miklos Vajna <vmiklos at collabora.co.uk>
CommitDate: Tue Sep 4 10:26:30 2018 +0200
tdf#119050 sfx2 store: don't inherit temp file permissions when overwriting
The too aggressive error handling in commit
fb04780cf8523ad4e900ae8b9cecbe7a2697a12a (tdf#116117 sfx2 store: don't
inherit temp file permissions when renaming, 2018-03-12) means that if
the file is already there, then we don't try to stat() it; even if there
is no problem with that.
(cherry picked from commit 38afe2976eea427999c39ee3a73e7938ec8d5f7b)
Change-Id: Ie0b9084064834e339bcae3ad7b4a35c54cb9d3c2
Reviewed-on: https://gerrit.libreoffice.org/59709
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit ff0b1f3c8063f4d7c171a9ea2db4efbff16eda39)
Reviewed-on: https://gerrit.libreoffice.org/59760
Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
Tested-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
Reviewed-by: Eike Rathke <erack at redhat.com>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/sfx2/qa/cppunit/test_misc.cxx b/sfx2/qa/cppunit/test_misc.cxx
index d74687b25431..817e246b6bf6 100644
--- a/sfx2/qa/cppunit/test_misc.cxx
+++ b/sfx2/qa/cppunit/test_misc.cxx
@@ -146,6 +146,14 @@ void MiscTest::testNoThumbnail()
// requested so.
CPPUNIT_ASSERT(aStatus.getAttributes() & osl_File_Attribute_GrpRead);
CPPUNIT_ASSERT(aStatus.getAttributes() & osl_File_Attribute_OthRead);
+
+ // Now "save as" again to trigger the "overwrite" case.
+ xStorable->storeToURL(aTempFile.GetURL(), {});
+ CPPUNIT_ASSERT_EQUAL(osl::DirectoryItem::E_None, aItem.getFileStatus(aStatus));
+ // The following check used to fail in the past, result had temp file
+ // permissions.
+ CPPUNIT_ASSERT(aStatus.getAttributes() & osl_File_Attribute_GrpRead);
+
umask(nMask);
#endif
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 72a6c131fc41..2e8b874deedb 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -179,8 +179,10 @@ sal_uInt64 GetDefaultFileAttributes(const OUString& rURL)
if (!comphelper::isFileUrl(rURL))
return nRet;
+ // Make sure the file exists (and create it if not).
osl::File aFile(rURL);
- if (aFile.open(osl_File_OpenFlag_Create) != osl::File::E_None)
+ osl::File::RC nRes = aFile.open(osl_File_OpenFlag_Create);
+ if (nRes != osl::File::E_None && nRes != osl::File::E_EXIST)
return nRet;
aFile.close();
More information about the Libreoffice-commits
mailing list