Fix some incoherency with strings (2).
This commit is contained in:
parent
e4730c6c97
commit
fbfebdcdd7
|
@ -40,9 +40,6 @@ class JackSynchro
|
|||
char fName[SYNC_MAX_NAME_SIZE];
|
||||
bool fFlush; // If true, signal are "flushed" : used for drivers that do no consume the signal
|
||||
|
||||
void BuildName(const char* name, const char* server_name, char* res)
|
||||
{}
|
||||
|
||||
public:
|
||||
|
||||
JackSynchro(): fFlush(false)
|
||||
|
|
|
@ -227,10 +227,11 @@ namespace Jack {
|
|||
{
|
||||
size_t i;
|
||||
for (i = 0; i < strlen(name); i++) {
|
||||
if ((name[i] == '/') || (name[i] == '\\'))
|
||||
if ((name[i] == '/') || (name[i] == '\\')) {
|
||||
new_name[i] = '_';
|
||||
else
|
||||
} else {
|
||||
new_name[i] = name[i];
|
||||
}
|
||||
}
|
||||
new_name[i] = '\0';
|
||||
}
|
||||
|
|
|
@ -29,11 +29,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
namespace Jack
|
||||
{
|
||||
|
||||
static void BuildName(const char* client_name, char* res, const char* dir, int which)
|
||||
static void BuildName(const char* client_name, char* res, const char* dir, int which, 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_%s_%d_%d", dir, ext_client_name, JackTools::GetUID(), which);
|
||||
snprintf(res, size, "%s/jack_%s_%d_%d", dir, ext_client_name, JackTools::GetUID(), which);
|
||||
}
|
||||
|
||||
JackClientSocket::JackClientSocket(int socket): JackClientRequestInterface(), fSocket(socket),fTimeOut(0)
|
||||
|
@ -119,7 +119,7 @@ int JackClientSocket::Connect(const char* dir, const char* name, int which) // A
|
|||
}
|
||||
|
||||
addr.sun_family = AF_UNIX;
|
||||
BuildName(name, addr.sun_path, dir, which);
|
||||
BuildName(name, addr.sun_path, dir, which, sizeof(addr.sun_path));
|
||||
jack_log("JackClientSocket::Connect : addr.sun_path %s", addr.sun_path);
|
||||
|
||||
if (connect(fSocket, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
|
||||
|
@ -253,9 +253,8 @@ int JackServerSocket::Bind(const char* dir, const char* name, int which) // A re
|
|||
}
|
||||
|
||||
addr.sun_family = AF_UNIX;
|
||||
BuildName(name, fName, dir, which);
|
||||
strncpy(addr.sun_path, fName, sizeof(addr.sun_path) - 1);
|
||||
|
||||
BuildName(name, addr.sun_path, dir, which, sizeof(addr.sun_path));
|
||||
|
||||
jack_log("JackServerSocket::Bind : addr.sun_path %s", addr.sun_path);
|
||||
unlink(fName); // Security...
|
||||
|
||||
|
|
Loading…
Reference in New Issue