From 7215a52da0b9f4acbd6dcdbf5c0b59a298a5b4f7 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Fri, 13 Nov 2020 10:25:51 +0200 Subject: [PATCH] cache latin string conversion in QLocalServerPrivate::listen() Signed-off-by: Ivailo Monev --- src/network/socket/qlocalserver_unix.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/network/socket/qlocalserver_unix.cpp b/src/network/socket/qlocalserver_unix.cpp index 86f47de6b..a1ac602aa 100644 --- a/src/network/socket/qlocalserver_unix.cpp +++ b/src/network/socket/qlocalserver_unix.cpp @@ -85,13 +85,14 @@ bool QLocalServerPrivate::listen(const QString &requestedServerName) // Construct the unix address struct ::sockaddr_un addr; addr.sun_family = PF_UNIX; - if (sizeof(addr.sun_path) < (uint)fullServerName.toLatin1().size() + 1) { + QByteArray latinFullServerName = fullServerName.toLatin1(); + if (sizeof(addr.sun_path) < (uint)latinFullServerName.size() + 1) { setError(QLatin1String("QLocalServer::listen")); closeServer(); return false; } - ::memcpy(addr.sun_path, fullServerName.toLatin1().data(), - fullServerName.toLatin1().size() + 1); + ::memcpy(addr.sun_path, latinFullServerName.constData(), + latinFullServerName.size() + 1); // bind