diff options
-rw-r--r-- | src/corelib/kernel/qsharedmemory_posix.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/corelib/kernel/qsharedmemory_posix.cpp b/src/corelib/kernel/qsharedmemory_posix.cpp index 74b810bec6..0015bda8d9 100644 --- a/src/corelib/kernel/qsharedmemory_posix.cpp +++ b/src/corelib/kernel/qsharedmemory_posix.cpp @@ -173,6 +173,13 @@ bool QSharedMemoryPrivate::attach(QSharedMemory::AccessMode mode) return false; } +#ifdef F_ADD_SEALS + // Make sure the shared memory region will not shrink + // otherwise someone could cause SIGBUS on us. + // (see http://lwn.net/Articles/594919/) + fcntl(hand, F_ADD_SEALS, F_SEAL_SHRINK); +#endif + return true; } |