parent
e3247db8d8
commit
5d880b1d4d
@ -0,0 +1,41 @@
|
|||||||
|
From d11f2ccdcecca78bc654ca0b787ea112c1dfe10c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
Date: Thu, 15 Dec 2011 11:57:08 +0100
|
||||||
|
Subject: [PATCH] Resolves: rhbz#767708 avoid SIGBUS writing to overcommitted
|
||||||
|
mmaped diskspace
|
||||||
|
|
||||||
|
---
|
||||||
|
bridges/source/cpp_uno/shared/vtablefactory.cxx | 10 ++++++++--
|
||||||
|
1 files changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/bridges/source/cpp_uno/shared/vtablefactory.cxx b/bridges/source/cpp_uno/shared/vtablefactory.cxx
|
||||||
|
index 2703ac0..b049c7f 100644
|
||||||
|
--- a/bridges/source/cpp_uno/shared/vtablefactory.cxx
|
||||||
|
+++ b/bridges/source/cpp_uno/shared/vtablefactory.cxx
|
||||||
|
@@ -65,6 +66,10 @@
|
||||||
|
#error Unsupported platform
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if defined USE_DOUBLE_MMAP
|
||||||
|
+#include <fcntl.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
using bridges::cpp_uno::shared::VtableFactory;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
@@ -259,9 +264,10 @@ bool VtableFactory::createBlock(Block &block, sal_Int32 slotCount) const
|
||||||
|
}
|
||||||
|
unlink(tmpfname);
|
||||||
|
delete[] tmpfname;
|
||||||
|
- if (ftruncate(block.fd, block.size) == -1)
|
||||||
|
+ int err = posix_fallocate(block.fd, 0, block.size);
|
||||||
|
+ if (err != 0)
|
||||||
|
{
|
||||||
|
- perror("truncation of executable memory area failed");
|
||||||
|
+ fprintf(stderr, "posix_fallocate failed with code %d\n", err);
|
||||||
|
close(block.fd);
|
||||||
|
block.fd = -1;
|
||||||
|
break;
|
||||||
|
--
|
||||||
|
1.7.7.4
|
||||||
|
|
Loading…
Reference in new issue