From 3653ca72b15fb4daaf68c6211ee0af1f9af8a5dc Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 14 Oct 2022 08:47:23 -0700 Subject: [PATCH] IPC: don't check for the file's existence before ftok() It's documented to return -1 when the file doesn't exist, so we gain nothing by saying a file we ourselves must have created doesn't exist. Change-Id: I12a088d1ae424825abd3fffd171dfa1de6705787 Reviewed-by: Volker Hilsheimer Reviewed-by: Fabian Kosmale --- src/corelib/ipc/qsharedmemory_systemv.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/corelib/ipc/qsharedmemory_systemv.cpp b/src/corelib/ipc/qsharedmemory_systemv.cpp index 67d23759789..cc98b560aeb 100644 --- a/src/corelib/ipc/qsharedmemory_systemv.cpp +++ b/src/corelib/ipc/qsharedmemory_systemv.cpp @@ -72,19 +72,9 @@ key_t QSharedMemorySystemV::handle(QSharedMemoryPrivate *self) return 0; } - // ftok requires that an actual file exists somewhere - if (!QFile::exists(QFile::decodeName(nativeKeyFile))) { - self->setError(QSharedMemory::NotFound, - QSharedMemory::tr("%1: UNIX key file doesn't exist") - .arg("QSharedMemory::handle:"_L1)); - return 0; - } - unix_key = ftok(nativeKeyFile, int(self->nativeKey.type())); - if (-1 == unix_key) { - self->setError(QSharedMemory::KeyError, - QSharedMemory::tr("%1: ftok failed") - .arg("QSharedMemory::handle:"_L1)); + if (unix_key < 0) { + self->setUnixErrorString("QSharedMemory::handle"_L1); unix_key = 0; } return unix_key;