Commit 1db9db8d authored by Gildas Bazin's avatar Gildas Bazin

* modules/audio_output/alsa.c: fixed minor memory leak.

parent 0d26b166
......@@ -315,7 +315,6 @@ static int Open( vlc_object_t *p_this )
}
p_sys->b_playing = VLC_FALSE;
p_sys->start_date = 0;
p_sys->p_status = (snd_pcm_status_t *)malloc(snd_pcm_status_sizeof());
vlc_cond_init( p_aout, &p_sys->wait );
vlc_mutex_init( p_aout, &p_sys->lock );
......@@ -327,6 +326,8 @@ static int Open( vlc_object_t *p_this )
return VLC_EGENERIC;
}
p_sys->p_status = (snd_pcm_status_t *)malloc(snd_pcm_status_sizeof());
/* Choose the IEC device for S/PDIF output:
if the device is overriden by the user then it will be the one
otherwise we compute the default device based on the output format. */
......@@ -375,6 +376,7 @@ static int Open( vlc_object_t *p_this )
if ( var_Get( p_aout, "audio-device", &val ) < 0 )
{
free( p_sys->p_status );
free( p_sys );
free( psz_device );
return VLC_EGENERIC;
......@@ -411,6 +413,7 @@ static int Open( vlc_object_t *p_this )
{
/* This should not happen ! */
msg_Err( p_aout, "internal: can't find audio-device (%i)", val.i_int );
free( p_sys->p_status );
free( p_sys );
free( psz_device );
return VLC_EGENERIC;
......@@ -428,6 +431,7 @@ static int Open( vlc_object_t *p_this )
{
msg_Err( p_aout, "cannot open ALSA device `%s' (%s)",
psz_iec_device, snd_strerror( i_snd_rc ) );
free( p_sys->p_status );
free( p_sys );
free( psz_device );
return VLC_EGENERIC;
......@@ -470,6 +474,7 @@ static int Open( vlc_object_t *p_this )
{
msg_Err( p_aout, "cannot open ALSA device `%s' (%s)",
psz_device, snd_strerror( i_snd_rc ) );
free( p_sys->p_status );
free( p_sys );
free( psz_device );
return VLC_EGENERIC;
......@@ -673,6 +678,7 @@ error:
#ifdef ALSA_DEBUG
snd_output_close( p_sys->p_snd_stderr );
#endif
free( p_sys->p_status );
free( p_sys );
return VLC_EGENERIC;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment