summaryrefslogtreecommitdiffstats
path: root/stream/audio_in.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-10-30 15:51:26 +0100
committerwm4 <wm4@nowhere>2015-10-30 15:51:26 +0100
commit05e39ec51362d9c23f0652a4ac5017a1b6489e49 (patch)
tree0e3766c65f5e698a3cb4496f9822e034de67f3ff /stream/audio_in.c
parent7aba3a5d96b0d3b22c9e93057b6d1b4cba0e5104 (diff)
downloadmpv-05e39ec51362d9c23f0652a4ac5017a1b6489e49.tar.bz2
mpv-05e39ec51362d9c23f0652a4ac5017a1b6489e49.tar.xz
stream/audio: fix unchecked strdups
See #2435. It's literally a waste of time trying to fix minor memory leaks in this old, unused, and crappy code.
Diffstat (limited to 'stream/audio_in.c')
-rw-r--r--stream/audio_in.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/stream/audio_in.c b/stream/audio_in.c
index 90b036f814..8ed92767c1 100644
--- a/stream/audio_in.c
+++ b/stream/audio_in.c
@@ -45,19 +45,19 @@ int audio_in_init(audio_in_t *ai, struct mp_log *log, int type)
case AUDIO_IN_ALSA:
ai->alsa.handle = NULL;
ai->alsa.log = NULL;
- ai->alsa.device = strdup("default");
+ ai->alsa.device = NULL;
return 0;
#endif
#if HAVE_OSS_AUDIO
case AUDIO_IN_OSS:
ai->oss.audio_fd = -1;
- ai->oss.device = strdup("/dev/dsp");
+ ai->oss.device = NULL;
return 0;
#endif
#if HAVE_SNDIO
case AUDIO_IN_SNDIO:
ai->sndio.hdl = NULL;
- ai->sndio.device = strdup("default");
+ ai->sndio.device = NULL;
return 0;
#endif
default:
@@ -161,9 +161,11 @@ int audio_in_set_device(audio_in_t *ai, char *device)
case AUDIO_IN_ALSA:
free(ai->alsa.device);
ai->alsa.device = strdup(device);
- /* mplayer cannot handle colons in arguments */
- for (i = 0; i < (int)strlen(ai->alsa.device); i++) {
- if (ai->alsa.device[i] == '.') ai->alsa.device[i] = ':';
+ if (ai->alsa.device) {
+ /* mplayer could not handle colons in arguments */
+ for (i = 0; i < (int)strlen(ai->alsa.device); i++) {
+ if (ai->alsa.device[i] == '.') ai->alsa.device[i] = ':';
+ }
}
return 0;
#endif