diff --git a/src/ioslaves/file/sharefd_p.h b/src/ioslaves/file/sharefd_p.h --- a/src/ioslaves/file/sharefd_p.h +++ b/src/ioslaves/file/sharefd_p.h @@ -47,7 +47,7 @@ } const sockaddr *address() const { - return (addr.sun_path[0] || addr.sun_path[1]) ? reinterpret_cast(&addr) : nullptr; + return addr.sun_path[0] ? reinterpret_cast(&addr) : nullptr; } private: @@ -58,16 +58,9 @@ a.sun_family = AF_UNIX; const QByteArray finalPath = "/tmp/" + path; const size_t pathSize = finalPath.size(); - if (pathSize > 5) { -#ifdef __linux__ - if (pathSize < sizeof(a.sun_path) - 2) { - memcpy(&a.sun_path[1], finalPath.constData(), pathSize + 1); -#else - if (pathSize < sizeof(a.sun_path) - 1) { + if (pathSize > 5 && pathSize < sizeof(a.sun_path) - 1) { memcpy(a.sun_path, finalPath.constData(), pathSize + 1); ::unlink(finalPath.constData()); -#endif - } } return a; }