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