From de61130bd48e2a028fea9bd408703805e41fb05b Mon Sep 17 00:00:00 2001 From: Tobias Koenig Date: Sat, 3 Jan 2015 12:52:05 +0100 Subject: Seal shared memory on POSIX IPC Change-Id: I5dc3807af904ad77db82d49b38b4c8e66d2d4de6 Reviewed-by: Thiago Macieira --- src/corelib/kernel/qsharedmemory_posix.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/corelib/kernel/qsharedmemory_posix.cpp') 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; } -- cgit v1.2.3