From ad47092c4ab88c22e5d523c208f0dce3c5ce8497 Mon Sep 17 00:00:00 2001 From: Tom Early Date: Sun, 21 Apr 2024 13:42:12 -0700 Subject: [PATCH] in CUnixDGramWriter, only calculate path_len once --- reflector/UnixDgramSocket.cpp | 2 +- reflector/UnixDgramSocket.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/reflector/UnixDgramSocket.cpp b/reflector/UnixDgramSocket.cpp index 2075fdb..279eb6c 100644 --- a/reflector/UnixDgramSocket.cpp +++ b/reflector/UnixDgramSocket.cpp @@ -119,6 +119,7 @@ void CUnixDgramWriter::SetUp(const char *path) // returns true on failure memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path+1, path, sizeof(addr.sun_path)-2); + path_len = sizeof(addr.sun_family) + strlen(addr.sun_path + 1) + 1; } bool CUnixDgramWriter::Send(const STCPacket *pack) const @@ -142,7 +143,6 @@ ssize_t CUnixDgramWriter::Write(const void *buf, ssize_t size) const } // connect to the receiver // We know path is a string, so we skip the first null, get the string length and add 1 for the begining Null - int path_len = sizeof(addr.sun_family) + strlen(addr.sun_path + 1) + 1; int rval = connect(fd, (struct sockaddr *)&addr, path_len); if (rval < 0) { diff --git a/reflector/UnixDgramSocket.h b/reflector/UnixDgramSocket.h index 1f044e7..c590703 100644 --- a/reflector/UnixDgramSocket.h +++ b/reflector/UnixDgramSocket.h @@ -47,4 +47,5 @@ private: ssize_t Write(const void *buf, ssize_t size) const; struct sockaddr_un addr; + int path_len; };