diff options
author | wm4 <wm4@nowhere> | 2015-10-30 15:51:26 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-10-30 15:51:26 +0100 |
commit | 05e39ec51362d9c23f0652a4ac5017a1b6489e49 (patch) | |
tree | 0e3766c65f5e698a3cb4496f9822e034de67f3ff /stream/audio_in.c | |
parent | 7aba3a5d96b0d3b22c9e93057b6d1b4cba0e5104 (diff) | |
download | mpv-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.c | 14 |
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 |