echo driver: replace usage of strncpy by strlcpy
Usage of strncpy in this context could lead to a non null terminated string. various coding style fix. CID 2217.
This commit is contained in:
@@ -226,7 +226,7 @@ echo_create_controls_list(multi_dev *multi)
|
|||||||
parent2 = echo_create_group_control(multi, &index, parent, S_null, "Output");
|
parent2 = echo_create_group_control(multi, &index, parent, S_null, "Output");
|
||||||
|
|
||||||
echo_create_channel_control(multi, &index, parent2, 0, channel,
|
echo_create_channel_control(multi, &index, parent2, 0, channel,
|
||||||
card->caps.dwBusOutCaps[i*2] & ECHOCAPS_NOMINAL_LEVEL);
|
card->caps.dwBusOutCaps[i * 2] & ECHOCAPS_NOMINAL_LEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
parent = echo_create_group_control(multi, &index, 0, S_INPUT, NULL);
|
parent = echo_create_group_control(multi, &index, 0, S_INPUT, NULL);
|
||||||
@@ -238,7 +238,7 @@ echo_create_controls_list(multi_dev *multi)
|
|||||||
parent2 = echo_create_group_control(multi, &index, parent, S_null, "Input");
|
parent2 = echo_create_group_control(multi, &index, parent, S_null, "Input");
|
||||||
|
|
||||||
echo_create_channel_control(multi, &index, parent2, 0, channel,
|
echo_create_channel_control(multi, &index, parent2, 0, channel,
|
||||||
card->caps.dwBusInCaps[i*2] & ECHOCAPS_NOMINAL_LEVEL);
|
card->caps.dwBusInCaps[i * 2] & ECHOCAPS_NOMINAL_LEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
multi->control_count = index;
|
multi->control_count = index;
|
||||||
@@ -246,6 +246,7 @@ echo_create_controls_list(multi_dev *multi)
|
|||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static status_t
|
static status_t
|
||||||
echo_get_mix(echo_dev *card, multi_mix_value_info * mmvi)
|
echo_get_mix(echo_dev *card, multi_mix_value_info * mmvi)
|
||||||
{
|
{
|
||||||
@@ -303,7 +304,7 @@ echo_set_mix(echo_dev *card, multi_mix_value_info * mmvi)
|
|||||||
|
|
||||||
if (control->mix_control.flags & B_MULTI_MIX_GAIN) {
|
if (control->mix_control.flags & B_MULTI_MIX_GAIN) {
|
||||||
multi_mixer_control *control2 = NULL;
|
multi_mixer_control *control2 = NULL;
|
||||||
if (i+1<mmvi->item_count) {
|
if (i + 1 < mmvi->item_count) {
|
||||||
id = mmvi->values[i + 1].id - MULTI_CONTROL_FIRSTID;
|
id = mmvi->values[i + 1].id - MULTI_CONTROL_FIRSTID;
|
||||||
if (id < 0 || id >= card->multi.control_count) {
|
if (id < 0 || id >= card->multi.control_count) {
|
||||||
PRINT(("echo_set_mix : invalid control id requested : %li\n", id));
|
PRINT(("echo_set_mix : invalid control id requested : %li\n", id));
|
||||||
@@ -325,7 +326,7 @@ echo_set_mix(echo_dev *card, multi_mix_value_info * mmvi)
|
|||||||
values[1] = mmvi->values[i].gain;
|
values[1] = mmvi->values[i].gain;
|
||||||
|
|
||||||
if (control2 && control2->mix_control.master != MULTI_CONTROL_MASTERID)
|
if (control2 && control2->mix_control.master != MULTI_CONTROL_MASTERID)
|
||||||
values[1] = mmvi->values[i+1].gain;
|
values[1] = mmvi->values[i + 1].gain;
|
||||||
|
|
||||||
control->set(card, control->channel, control->type, values);
|
control->set(card, control->channel, control->type, values);
|
||||||
}
|
}
|
||||||
@@ -507,8 +508,8 @@ echo_get_description(echo_dev *card, multi_description *data)
|
|||||||
data->interface_version = B_CURRENT_INTERFACE_VERSION;
|
data->interface_version = B_CURRENT_INTERFACE_VERSION;
|
||||||
data->interface_minimum = B_CURRENT_INTERFACE_VERSION;
|
data->interface_minimum = B_CURRENT_INTERFACE_VERSION;
|
||||||
|
|
||||||
strncpy(data->friendly_name, card->caps.szName, sizeof(data->friendly_name));
|
strlcpy(data->friendly_name, card->caps.szName, sizeof(data->friendly_name));
|
||||||
strncpy(data->vendor_info, AUTHOR, sizeof(data->vendor_info));
|
strlcpy(data->vendor_info, AUTHOR, sizeof(data->vendor_info));
|
||||||
|
|
||||||
data->output_channel_count = card->multi.output_channel_count;
|
data->output_channel_count = card->multi.output_channel_count;
|
||||||
data->input_channel_count = card->multi.input_channel_count;
|
data->input_channel_count = card->multi.input_channel_count;
|
||||||
@@ -666,10 +667,10 @@ echo_get_buffers(echo_dev *card, multi_buffer_list *data)
|
|||||||
LOG(("not enough channels\n"));
|
LOG(("not enough channels\n"));
|
||||||
}
|
}
|
||||||
for (i = 0; i < current_settings.buffer_count; i++)
|
for (i = 0; i < current_settings.buffer_count; i++)
|
||||||
for (j=0; j<stream->channels; j++)
|
for (j = 0; j < stream->channels; j++)
|
||||||
echo_stream_get_nth_buffer(stream, j, i,
|
echo_stream_get_nth_buffer(stream, j, i,
|
||||||
&data->record_buffers[i][channels+j].base,
|
&data->record_buffers[i][channels + j].base,
|
||||||
&data->record_buffers[i][channels+j].stride);
|
&data->record_buffers[i][channels + j].stride);
|
||||||
}
|
}
|
||||||
|
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -1024,7 +1025,7 @@ echo_open(const char *name, uint32 flags, void** cookie)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (; i >=0 ; i-=2) {
|
for (; i >= 0 ; i -= 2) {
|
||||||
stream = echo_stream_new(card, ECHO_USE_PLAY, current_settings.buffer_frames, current_settings.buffer_count);
|
stream = echo_stream_new(card, ECHO_USE_PLAY, current_settings.buffer_frames, current_settings.buffer_count);
|
||||||
if (!card->pstream)
|
if (!card->pstream)
|
||||||
card->pstream = stream;
|
card->pstream = stream;
|
||||||
@@ -1086,7 +1087,7 @@ echo_free(void* cookie)
|
|||||||
echo_stream_halt(stream);
|
echo_stream_halt(stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
while(!LIST_EMPTY(&card->streams)) {
|
while (!LIST_EMPTY(&card->streams)) {
|
||||||
echo_stream_delete(LIST_FIRST(&card->streams));
|
echo_stream_delete(LIST_FIRST(&card->streams));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user