fix strcpy buffer overflow

This commit is contained in:
latex 2023-04-21 15:58:47 +02:00
parent a5ce7d2abf
commit 120597fe01
1 changed files with 5 additions and 5 deletions

View File

@ -44,7 +44,7 @@ static int jack_start(struct jack_backend_t* jack_backend)
int ret = 0;
size_t port;
char port_name[32];
char port_name_template[9];
char port_name_template[32] = { 0 };
char const** ports;
volatile size_t port_id;
volatile size_t pports = 0;
@ -57,12 +57,12 @@ static int jack_start(struct jack_backend_t* jack_backend)
case AUDIO_IN:
if (jack_backend->autoconnect == CARD)
{
strcpy(port_name_template, "playback_%u");
memcpy(port_name_template, "playback_%u", sizeof(port_name_template)-1);
JackFlags = JackPortIsInput + JackPortIsPhysical;
}
else
{
strcpy(port_name_template, "input_%u");
memcpy(port_name_template, "input_%u", sizeof(port_name_template)-1);
JackFlags = JackPortIsInput;
}
@ -81,12 +81,12 @@ static int jack_start(struct jack_backend_t* jack_backend)
default: // AUDIO_OUT:
if (jack_backend->autoconnect == CARD)
{
strcpy(port_name_template, "capture_%u");
memcpy(port_name_template, "capture_%u", sizeof(port_name_template)-1);
JackFlags = JackPortIsOutput + JackPortIsPhysical;
}
else
{
strcpy(port_name_template, "output_%u");
memcpy(port_name_template, "output_%u", sizeof(port_name_template)-1);
JackFlags = JackPortIsOutput;
}