summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/audio_out/audio_alsa_out.c2
-rw-r--r--src/audio_out/audio_oss_out.c13
2 files changed, 6 insertions, 9 deletions
diff --git a/src/audio_out/audio_alsa_out.c b/src/audio_out/audio_alsa_out.c
index 1a26b01e9..40dc7ffed 100644
--- a/src/audio_out/audio_alsa_out.c
+++ b/src/audio_out/audio_alsa_out.c
@@ -138,7 +138,7 @@ static int my_snd_mixer_wait(snd_mixer_t *mixer, int timeout) {
return count;
if ((unsigned int) count > sizeof(spfds) / sizeof(spfds[0])) {
- pfds = malloc(count * sizeof(*pfds));
+ pfds = calloc(count, sizeof(*pfds));
if (!pfds)
return -ENOMEM;
diff --git a/src/audio_out/audio_oss_out.c b/src/audio_out/audio_oss_out.c
index 5576b1d5f..b22f3344b 100644
--- a/src/audio_out/audio_oss_out.c
+++ b/src/audio_out/audio_oss_out.c
@@ -1035,15 +1035,12 @@ static ao_driver_t *open_plugin (audio_driver_class_t *class_gen, const void *da
if ((parse = strstr(mixer_name, "dsp"))) {
parse[0] = '\0';
parse += 3;
- this->mixer.name = (char *)malloc(strlen(mixer_name) + sizeof("mixer") + 2);
if (devname_val == 0)
- sprintf(this->mixer.name, "%smixer%s", mixer_name, parse);
- else {
- if (mixer_num == -1)
- sprintf(this->mixer.name, "%smixer", mixer_name);
- else
- sprintf(this->mixer.name, "%smixer%d", mixer_name, mixer_num);
- }
+ asprintf(&this->mixer.name, "%smixer%s", mixer_name, parse);
+ else if (mixer_num == -1)
+ asprintf(&this->mixer.name, "%smixer", mixer_name);
+ else
+ asprintf(&this->mixer.name, "%smixer%d", mixer_name, mixer_num);
} else {
this->mixer.name = (char *)malloc(1);
this->mixer.name[0] = '\0';