diff --git a/common/JackConstants.h b/common/JackConstants.h index 974f9238..f0c005dc 100644 --- a/common/JackConstants.h +++ b/common/JackConstants.h @@ -37,6 +37,8 @@ #define JACK_UUID_SIZE 32 #define JACK_SESSION_COMMAND_SIZE 256 +#define SYNC_MAX_NAME_SIZE 256 + #define REAL_JACK_PORT_NAME_SIZE JACK_CLIENT_NAME_SIZE + JACK_PORT_NAME_SIZE #ifndef PORT_NUM diff --git a/common/JackSynchro.h b/common/JackSynchro.h index 05180018..0098217b 100644 --- a/common/JackSynchro.h +++ b/common/JackSynchro.h @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef __JackSynchro__ #define __JackSynchro__ -#define SYNC_MAX_NAME_SIZE 256 +#include "JackConstants.h" namespace Jack { diff --git a/macosx/JackMachSemaphore.cpp b/macosx/JackMachSemaphore.cpp index bb350b1b..1e19329f 100644 --- a/macosx/JackMachSemaphore.cpp +++ b/macosx/JackMachSemaphore.cpp @@ -28,7 +28,7 @@ namespace Jack void JackMachSemaphore::BuildName(const char* client_name, const char* server_name, char* res, int size) { - char ext_client_name[JACK_CLIENT_NAME_SIZE + 1]; + char ext_client_name[SYNC_MAX_NAME_SIZE + 1]; JackTools::RewriteName(client_name, ext_client_name); snprintf(res, size, "jack_mach_sem.%d_%s_%s", JackTools::GetUID(), server_name, ext_client_name); } diff --git a/posix/JackFifo.cpp b/posix/JackFifo.cpp index be13a5d7..a8816b67 100644 --- a/posix/JackFifo.cpp +++ b/posix/JackFifo.cpp @@ -30,9 +30,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. namespace Jack { -void JackFifo::BuildName(const char* client_name, const char* server_name, char* res) +void JackFifo::BuildName(const char* client_name, const char* server_name, char* res, int size) { - char ext_client_name[JACK_CLIENT_NAME_SIZE + 1]; + char ext_client_name[SYNC_MAX_NAME_SIZE + 1]; JackTools::RewriteName(client_name, ext_client_name); sprintf(res, "%s/jack_fifo.%d_%s_%s", jack_client_dir, JackTools::GetUID(), server_name, ext_client_name); } @@ -126,7 +126,7 @@ bool JackFifo::TimedWait(long usec) bool JackFifo::Allocate(const char* name, const char* server_name, int value) { struct stat statbuf; - BuildName(name, server_name, fName); + BuildName(name, server_name, fName, sizeof(fName)); jack_log("JackFifo::Allocate name = %s", fName); if (stat(fName, &statbuf) < 0) { @@ -159,7 +159,7 @@ bool JackFifo::Allocate(const char* name, const char* server_name, int value) // Client side bool JackFifo::ConnectAux(const char* name, const char* server_name, int access) { - BuildName(name, server_name, fName); + BuildName(name, server_name, fName, sizeof(fName)); jack_log("JackFifo::ConnectAux name = %s", fName); // Temporary... diff --git a/posix/JackPosixSemaphore.cpp b/posix/JackPosixSemaphore.cpp index 63e0e8f2..bede0f41 100644 --- a/posix/JackPosixSemaphore.cpp +++ b/posix/JackPosixSemaphore.cpp @@ -30,7 +30,7 @@ namespace Jack void JackPosixSemaphore::BuildName(const char* client_name, const char* server_name, char* res, int size) { - char ext_client_name[JACK_CLIENT_NAME_SIZE + 1]; + char ext_client_name[SYNC_MAX_NAME_SIZE + 1]; JackTools::RewriteName(client_name, ext_client_name); snprintf(res, size, "jack_sem.%d_%s_%s", JackTools::GetUID(), server_name, ext_client_name); } diff --git a/windows/JackWinSemaphore.cpp b/windows/JackWinSemaphore.cpp index d347f605..e4e8fbd7 100644 --- a/windows/JackWinSemaphore.cpp +++ b/windows/JackWinSemaphore.cpp @@ -28,7 +28,7 @@ namespace Jack void JackWinSemaphore::BuildName(const char* client_name, const char* server_name, char* res, int size) { - char ext_client_name[JACK_CLIENT_NAME_SIZE + 1]; + char ext_client_name[SYNC_MAX_NAME_SIZE + 1]; JackTools::RewriteName(client_name, ext_client_name); _snprintf(res, size, "jack_pipe.%s_%s", server_name, ext_client_name); }