summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qsharedmemory_systemv.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-03-15 12:33:35 +0100
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2020-07-07 20:38:57 +0000
commita2cef41a3199b7bdaa64c911c7a2e7d0b0daecd4 (patch)
tree45a7ff001198601fe2483dc552d3855064493d3a /src/corelib/kernel/qsharedmemory_systemv.cpp
parent9ad1c6d835eac2938f1e6137dd420e274dcbef6e (diff)
Extend QSharedMemory to work with qsizetype for sizes
This allows larger than 2G memory segments to be allocated. Fixes: QTBUG-76995 Change-Id: I95309eeea511fadb28724c7592298c2fcc6f1d1a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/corelib/kernel/qsharedmemory_systemv.cpp')
-rw-r--r--src/corelib/kernel/qsharedmemory_systemv.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/corelib/kernel/qsharedmemory_systemv.cpp b/src/corelib/kernel/qsharedmemory_systemv.cpp
index 0ba5f65641..59693951b8 100644
--- a/src/corelib/kernel/qsharedmemory_systemv.cpp
+++ b/src/corelib/kernel/qsharedmemory_systemv.cpp
@@ -132,7 +132,7 @@ bool QSharedMemoryPrivate::cleanHandle()
return true;
}
-bool QSharedMemoryPrivate::create(int size)
+bool QSharedMemoryPrivate::create(qsizetype size)
{
// build file if needed
bool createdFile = false;
@@ -154,7 +154,7 @@ bool QSharedMemoryPrivate::create(int size)
}
// create
- if (-1 == shmget(unix_key, size, 0600 | IPC_CREAT | IPC_EXCL)) {
+ if (-1 == shmget(unix_key, size_t(size), 0600 | IPC_CREAT | IPC_EXCL)) {
const QLatin1String function("QSharedMemory::create");
switch (errno) {
case EINVAL:
@@ -192,7 +192,7 @@ bool QSharedMemoryPrivate::attach(QSharedMemory::AccessMode mode)
// grab the size
shmid_ds shmid_ds;
if (!shmctl(id, IPC_STAT, &shmid_ds)) {
- size = (int)shmid_ds.shm_segsz;
+ size = (qsizetype)shmid_ds.shm_segsz;
} else {
setErrorString(QLatin1String("QSharedMemory::attach (shmctl)"));
return false;