diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-03-15 12:33:35 +0100 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-07-07 20:38:57 +0000 |
commit | a2cef41a3199b7bdaa64c911c7a2e7d0b0daecd4 (patch) | |
tree | 45a7ff001198601fe2483dc552d3855064493d3a /src/corelib/kernel/qsharedmemory_systemv.cpp | |
parent | 9ad1c6d835eac2938f1e6137dd420e274dcbef6e (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.cpp | 6 |
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; |