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 "util.h"
#include "io.h" #include "io.h"
static void static void
auvia_ac97_get_mix(void *card, const void *cookie, int32 type, float *values) { auvia_ac97_get_mix(void *card, const void *cookie, int32 type, float *values) {
auvia_dev *dev = (auvia_dev*)card; 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 static int32
auvia_create_group_control(multi_dev *multi, int32 *index, int32 parent, auvia_create_group_control(multi_dev *multi, int32 *index, int32 parent,
int32 string, const char* name) { int32 string, const char* name)
{
int32 i = *index; int32 i = *index;
(*index)++; (*index)++;
multi->controls[i].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + i; 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.master = EMU_MULTI_CONTROL_MASTERID;
multi->controls[i].mix_control.string = string; multi->controls[i].mix_control.string = string;
if (name) 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; return multi->controls[i].mix_control.id;
} }
static status_t static status_t
auvia_create_controls_list(multi_dev *multi) 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.flags = B_MULTI_MIX_GAIN;
multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID; multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID;
multi->controls[index].mix_control.parent = parent2; 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.min_gain = info->min_gain;
multi->controls[index].mix_control.u.gain.max_gain = info->max_gain; multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
multi->controls[index].mix_control.u.gain.granularity = info->granularity; 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.flags = B_MULTI_MIX_GAIN;
multi->controls[index].mix_control.master = id; multi->controls[index].mix_control.master = id;
multi->controls[index].mix_control.parent = parent2; 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.min_gain = info->min_gain;
multi->controls[index].mix_control.u.gain.max_gain = info->max_gain; multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
multi->controls[index].mix_control.u.gain.granularity = info->granularity; 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.flags = B_MULTI_MIX_GAIN;
multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID; multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID;
multi->controls[index].mix_control.parent = parent2; 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.min_gain = info->min_gain;
multi->controls[index].mix_control.u.gain.max_gain = info->max_gain; multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
multi->controls[index].mix_control.u.gain.granularity = info->granularity; 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.flags = B_MULTI_MIX_GAIN;
multi->controls[index].mix_control.master = id; multi->controls[index].mix_control.master = id;
multi->controls[index].mix_control.parent = parent2; 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.min_gain = info->min_gain;
multi->controls[index].mix_control.u.gain.max_gain = info->max_gain; multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
multi->controls[index].mix_control.u.gain.granularity = info->granularity; multi->controls[index].mix_control.u.gain.granularity = info->granularity;
@@ -385,6 +394,7 @@ auvia_create_controls_list(multi_dev *multi)
return B_OK; return B_OK;
} }
static status_t static status_t
auvia_get_mix(auvia_dev *card, multi_mix_value_info * mmvi) 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; return B_OK;
} }
static status_t static status_t
auvia_set_mix(auvia_dev *card, multi_mix_value_info * mmvi) 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; return B_OK;
} }
static status_t static status_t
auvia_list_mix_controls(auvia_dev *card, multi_mix_control_info * mmci) 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; return B_OK;
} }
static status_t static status_t
auvia_list_mix_connections(auvia_dev *card, multi_mix_connection_info * data) auvia_list_mix_connections(auvia_dev *card, multi_mix_connection_info * data)
{ {
return B_ERROR; return B_ERROR;
} }
static status_t static status_t
auvia_list_mix_channels(auvia_dev *card, multi_mix_channel_info *data) 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; return B_OK;
} }
static status_t static status_t
auvia_get_enabled_channels(auvia_dev *card, multi_channel_enable *data) 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; return B_OK;
} }
static status_t static status_t
auvia_set_enabled_channels(auvia_dev *card, multi_channel_enable *data) 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; return B_OK;
} }
static status_t static status_t
auvia_get_global_format(auvia_dev *card, multi_format_info *data) 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; return B_OK;
} }
static status_t static status_t
auvia_get_buffers(auvia_dev *card, multi_buffer_list *data) 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); release_sem_etc(stream->card->buffer_ready_sem, 1, B_DO_NOT_RESCHEDULE);
} }
static void static void
auvia_record_inth(void* inthparams) 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); release_sem_etc(stream->card->buffer_ready_sem, 1, B_DO_NOT_RESCHEDULE);
} }
static status_t static status_t
auvia_buffer_exchange(auvia_dev *card, multi_buffer_info *data) 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; return B_OK;
} }
static status_t static status_t
auvia_buffer_force_stop(auvia_dev *card) auvia_buffer_force_stop(auvia_dev *card)
{ {
@@ -939,6 +960,7 @@ auvia_buffer_force_stop(auvia_dev *card)
return B_OK; return B_OK;
} }
static status_t static status_t
auvia_multi_control(void *cookie, uint32 op, void *data, size_t length) 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 */ NULL /* scatter-gather write to the device */
}; };
static status_t static status_t
auvia_open(const char *name, uint32 flags, void** cookie) 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; return B_OK;
} }
static status_t static status_t
auvia_close(void* cookie) auvia_close(void* cookie)
{ {
@@ -1096,6 +1120,7 @@ auvia_close(void* cookie)
return B_OK; return B_OK;
} }
static status_t static status_t
auvia_free(void* cookie) auvia_free(void* cookie)
{ {
@@ -1120,12 +1145,14 @@ auvia_free(void* cookie)
return B_OK; return B_OK;
} }
static status_t static status_t
auvia_control(void* cookie, uint32 op, void* arg, size_t len) auvia_control(void* cookie, uint32 op, void* arg, size_t len)
{ {
return auvia_multi_control(cookie, op, arg, len); return auvia_multi_control(cookie, op, arg, len);
} }
static status_t static status_t
auvia_read(void* cookie, off_t position, void *buf, size_t* num_bytes) 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; return B_IO_ERROR;
} }
static status_t static status_t
auvia_write(void* cookie, off_t position, const void* buffer, size_t* num_bytes) auvia_write(void* cookie, off_t position, const void* buffer, size_t* num_bytes)
{ {