Commit 3df8219d authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

RC OSD: Fix NULL check after deref (CID 109)

(cherry picked from commit a2d82490555eb3271a77b4958bc8528091951901)

Conflicts:

	modules/control/rc.c
parent 951d135f
...@@ -1900,14 +1900,14 @@ static int Menu( vlc_object_t *p_this, char const *psz_cmd, ...@@ -1900,14 +1900,14 @@ static int Menu( vlc_object_t *p_this, char const *psz_cmd,
VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval); VLC_UNUSED(p_data); VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval); VLC_UNUSED(p_data);
intf_thread_t *p_intf = (intf_thread_t*)p_this; intf_thread_t *p_intf = (intf_thread_t*)p_this;
playlist_t *p_playlist = NULL; playlist_t *p_playlist = NULL;
int i_error = VLC_SUCCESS;
vlc_value_t val; vlc_value_t val;
int i_error = VLC_EGENERIC;
if ( !*newval.psz_string ) if ( !*newval.psz_string )
{ {
msg_rc( _("Please provide one of the following parameters:") ); msg_rc( _("Please provide one of the following parameters:") );
msg_rc( "[on|off|up|down|left|right|select]" ); msg_rc( "[on|off|up|down|left|right|select]" );
return i_error; return VLC_EGENERIC;
} }
p_playlist = vlc_object_find( p_this, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); p_playlist = vlc_object_find( p_this, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
...@@ -1928,9 +1928,12 @@ static int Menu( vlc_object_t *p_this, char const *psz_cmd, ...@@ -1928,9 +1928,12 @@ static int Menu( vlc_object_t *p_this, char const *psz_cmd,
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
val.psz_string = strdup( newval.psz_string ); val.psz_string = strdup( newval.psz_string );
if( !val.psz_string )
return VLC_ENOMEM;
if( !strcmp( val.psz_string, "on" ) || !strcmp( val.psz_string, "show" )) if( !strcmp( val.psz_string, "on" ) || !strcmp( val.psz_string, "show" ))
osd_MenuShow( p_this ); osd_MenuShow( p_this );
else if( !strcmp( val.psz_string, "off" ) || !strcmp( val.psz_string, "hide" ) ) else if( !strcmp( val.psz_string, "off" )
|| !strcmp( val.psz_string, "hide" ) )
osd_MenuHide( p_this ); osd_MenuHide( p_this );
else if( !strcmp( val.psz_string, "up" ) ) else if( !strcmp( val.psz_string, "up" ) )
osd_MenuUp( p_this ); osd_MenuUp( p_this );
...@@ -1946,11 +1949,9 @@ static int Menu( vlc_object_t *p_this, char const *psz_cmd, ...@@ -1946,11 +1949,9 @@ static int Menu( vlc_object_t *p_this, char const *psz_cmd,
{ {
msg_rc( _("Please provide one of the following parameters:") ); msg_rc( _("Please provide one of the following parameters:") );
msg_rc( "[on|off|up|down|left|right|select]" ); msg_rc( "[on|off|up|down|left|right|select]" );
free( val.psz_string ); i_error = VLC_EGENERIC;
return i_error;
} }
i_error = VLC_SUCCESS;
free( val.psz_string ); free( val.psz_string );
return i_error; return i_error;
} }
......
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