diff options
Diffstat (limited to 'bridges')
-rw-r--r-- | bridges/source/cpp_uno/shared/vtablefactory.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/bridges/source/cpp_uno/shared/vtablefactory.cxx b/bridges/source/cpp_uno/shared/vtablefactory.cxx index a293d9937ca0..43a5c81e555c 100644 --- a/bridges/source/cpp_uno/shared/vtablefactory.cxx +++ b/bridges/source/cpp_uno/shared/vtablefactory.cxx @@ -59,6 +59,8 @@ #if defined USE_DOUBLE_MMAP #include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> #endif using bridges::cpp_uno::shared::VtableFactory; @@ -239,6 +241,7 @@ bool VtableFactory::createBlock(Block &block, sal_Int32 slotCount) const if (aSecurity.getHomeDir(strURLDirectory)) osl::File::getSystemPathFromFileURL(strURLDirectory, strDirectory); + mode_t nOrigMode = umask(S_IRWXG | S_IRWXO); for (int i = strDirectory.isEmpty() ? 1 : 0; i < 2; ++i) { if (strDirectory.isEmpty()) @@ -290,6 +293,7 @@ bool VtableFactory::createBlock(Block &block, sal_Int32 slotCount) const strDirectory = OUString(); } + umask(nOrigMode); if (!block.start || !block.exec || block.fd == -1) { //Fall back to non-doublemmaped allocation |