AC97 driver: replace some usage of strcpy() by strlcpy()

CID 8921, CID 8920, CID 8919, CID 8922.  Also fixes some coding
style issues.
This commit is contained in:
Philippe Saint-Pierre
2011-12-30 00:08:00 -05:00
parent c7199625ef
commit fbbed9473f
@@ -43,6 +43,7 @@
#include "util.h"
#include "io.h"
static void
auvia_ac97_get_mix(void *card, const void *cookie, int32 type, float *values) {
auvia_dev *dev = (auvia_dev*)card;
@@ -173,9 +174,11 @@ auvia_ac97_set_mix(void *card, const void *cookie, int32 type, float *values) {
}
static int32
auvia_create_group_control(multi_dev *multi, int32 *index, int32 parent,
int32 string, const char* name) {
int32 string, const char* name)
{
int32 i = *index;
(*index)++;
multi->controls[i].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + i;
@@ -184,11 +187,13 @@ auvia_create_group_control(multi_dev *multi, int32 *index, int32 parent,
multi->controls[i].mix_control.master = EMU_MULTI_CONTROL_MASTERID;
multi->controls[i].mix_control.string = string;
if (name)
strcpy(multi->controls[i].mix_control.name, name);
strlcpy(multi->controls[i].mix_control.name, name,
sizeof(multi->controls[i].mix_control.name));
return multi->controls[i].mix_control.id;
}
static status_t
auvia_create_controls_list(multi_dev *multi)
{
@@ -222,7 +227,8 @@ auvia_create_controls_list(multi_dev *multi)
multi->controls[index].mix_control.flags = B_MULTI_MIX_GAIN;
multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID;
multi->controls[index].mix_control.parent = parent2;
strcpy(multi->controls[index].mix_control.name, info->name);
strlcpy(multi->controls[index].mix_control.name, info->name,
sizeof(multi->controls[index].mix_control.name));
multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;
multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
multi->controls[index].mix_control.u.gain.granularity = info->granularity;
@@ -238,7 +244,8 @@ auvia_create_controls_list(multi_dev *multi)
multi->controls[index].mix_control.flags = B_MULTI_MIX_GAIN;
multi->controls[index].mix_control.master = id;
multi->controls[index].mix_control.parent = parent2;
strcpy(multi->controls[index].mix_control.name, info->name);
strlcpy(multi->controls[index].mix_control.name, info->name,
sizeof(multi->controls[index].mix_control.name));
multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;
multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
multi->controls[index].mix_control.u.gain.granularity = info->granularity;
@@ -333,7 +340,8 @@ auvia_create_controls_list(multi_dev *multi)
multi->controls[index].mix_control.flags = B_MULTI_MIX_GAIN;
multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID;
multi->controls[index].mix_control.parent = parent2;
strcpy(multi->controls[index].mix_control.name, info->name);
strlcpy(multi->controls[index].mix_control.name, info->name,
sizeof(multi->controls[index].mix_control.name));
multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;
multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
multi->controls[index].mix_control.u.gain.granularity = info->granularity;
@@ -349,7 +357,8 @@ auvia_create_controls_list(multi_dev *multi)
multi->controls[index].mix_control.flags = B_MULTI_MIX_GAIN;
multi->controls[index].mix_control.master = id;
multi->controls[index].mix_control.parent = parent2;
strcpy(multi->controls[index].mix_control.name, info->name);
strlcpy(multi->controls[index].mix_control.name, info->name,
sizeof(multi->controls[index].mix_control.name));
multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;
multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
multi->controls[index].mix_control.u.gain.granularity = info->granularity;
@@ -385,6 +394,7 @@ auvia_create_controls_list(multi_dev *multi)
return B_OK;
}
static status_t
auvia_get_mix(auvia_dev *card, multi_mix_value_info * mmvi)
{
@@ -424,6 +434,7 @@ auvia_get_mix(auvia_dev *card, multi_mix_value_info * mmvi)
return B_OK;
}
static status_t
auvia_set_mix(auvia_dev *card, multi_mix_value_info * mmvi)
{
@@ -487,6 +498,7 @@ auvia_set_mix(auvia_dev *card, multi_mix_value_info * mmvi)
return B_OK;
}
static status_t
auvia_list_mix_controls(auvia_dev *card, multi_mix_control_info * mmci)
{
@@ -507,12 +519,14 @@ auvia_list_mix_controls(auvia_dev *card, multi_mix_control_info * mmci)
return B_OK;
}
static status_t
auvia_list_mix_connections(auvia_dev *card, multi_mix_connection_info * data)
{
return B_ERROR;
}
static status_t
auvia_list_mix_channels(auvia_dev *card, multi_mix_channel_info *data)
{
@@ -714,6 +728,7 @@ auvia_get_description(auvia_dev *card, multi_description *data)
return B_OK;
}
static status_t
auvia_get_enabled_channels(auvia_dev *card, multi_channel_enable *data)
{
@@ -731,6 +746,7 @@ auvia_get_enabled_channels(auvia_dev *card, multi_channel_enable *data)
return B_OK;
}
static status_t
auvia_set_enabled_channels(auvia_dev *card, multi_channel_enable *data)
{
@@ -741,6 +757,7 @@ auvia_set_enabled_channels(auvia_dev *card, multi_channel_enable *data)
return B_OK;
}
static status_t
auvia_get_global_format(auvia_dev *card, multi_format_info *data)
{
@@ -762,6 +779,7 @@ auvia_get_global_format(auvia_dev *card, multi_format_info *data)
return B_OK;
}
static status_t
auvia_get_buffers(auvia_dev *card, multi_buffer_list *data)
{
@@ -835,6 +853,7 @@ auvia_play_inth(void* inthparams)
release_sem_etc(stream->card->buffer_ready_sem, 1, B_DO_NOT_RESCHEDULE);
}
static void
auvia_record_inth(void* inthparams)
{
@@ -856,6 +875,7 @@ auvia_record_inth(void* inthparams)
release_sem_etc(stream->card->buffer_ready_sem, 1, B_DO_NOT_RESCHEDULE);
}
static status_t
auvia_buffer_exchange(auvia_dev *card, multi_buffer_info *data)
{
@@ -932,6 +952,7 @@ auvia_buffer_exchange(auvia_dev *card, multi_buffer_info *data)
return B_OK;
}
static status_t
auvia_buffer_force_stop(auvia_dev *card)
{
@@ -939,6 +960,7 @@ auvia_buffer_force_stop(auvia_dev *card)
return B_OK;
}
static status_t
auvia_multi_control(void *cookie, uint32 op, void *data, size_t length)
{
@@ -1032,6 +1054,7 @@ device_hooks multi_hooks = {
NULL /* scatter-gather write to the device */
};
static status_t
auvia_open(const char *name, uint32 flags, void** cookie)
{
@@ -1087,6 +1110,7 @@ auvia_open(const char *name, uint32 flags, void** cookie)
return B_OK;
}
static status_t
auvia_close(void* cookie)
{
@@ -1096,6 +1120,7 @@ auvia_close(void* cookie)
return B_OK;
}
static status_t
auvia_free(void* cookie)
{
@@ -1120,12 +1145,14 @@ auvia_free(void* cookie)
return B_OK;
}
static status_t
auvia_control(void* cookie, uint32 op, void* arg, size_t len)
{
return auvia_multi_control(cookie, op, arg, len);
}
static status_t
auvia_read(void* cookie, off_t position, void *buf, size_t* num_bytes)
{
@@ -1133,6 +1160,7 @@ auvia_read(void* cookie, off_t position, void *buf, size_t* num_bytes)
return B_IO_ERROR;
}
static status_t
auvia_write(void* cookie, off_t position, const void* buffer, size_t* num_bytes)
{