Commit 709f415c authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Provide the trust value to var_OptionParse

parent 208d017e
...@@ -203,7 +203,7 @@ static input_thread_t *Create( vlc_object_t *p_parent, input_item_t *p_item, ...@@ -203,7 +203,7 @@ static input_thread_t *Create( vlc_object_t *p_parent, input_item_t *p_item,
/* Parse input options */ /* Parse input options */
vlc_mutex_lock( &p_item->lock ); vlc_mutex_lock( &p_item->lock );
for( i = 0; i < p_item->i_options; i++ ) for( i = 0; i < p_item->i_options; i++ )
var_OptionParse( VLC_OBJECT(p_input), p_item->ppsz_options[i] ); var_OptionParse( VLC_OBJECT(p_input), p_item->ppsz_options[i], true );
vlc_mutex_unlock( &p_item->lock ); vlc_mutex_unlock( &p_item->lock );
/* Create Object Variables for private use only */ /* Create Object Variables for private use only */
......
...@@ -91,7 +91,7 @@ intf_thread_t* __intf_Create( vlc_object_t *p_this, const char *psz_module, ...@@ -91,7 +91,7 @@ intf_thread_t* __intf_Create( vlc_object_t *p_this, const char *psz_module,
p_intf->b_should_run_on_first_thread = VLC_FALSE; p_intf->b_should_run_on_first_thread = VLC_FALSE;
for( i = 0 ; i< i_options; i++ ) for( i = 0 ; i< i_options; i++ )
var_OptionParse( p_this, ppsz_options[i] ); var_OptionParse( p_this, ppsz_options[i], true );
/* Choose the best module */ /* Choose the best module */
p_intf->psz_intf = strdup( psz_module ); p_intf->psz_intf = strdup( psz_module );
......
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
#ifndef LIBVLC_LIBVLC_H #ifndef LIBVLC_LIBVLC_H
# define LIBVLC_LIBVLC_H 1 # define LIBVLC_LIBVLC_H 1
# include <stdbool.h>
extern const char vlc_usage[]; extern const char vlc_usage[];
extern const struct hotkey libvlc_hotkeys[]; extern const struct hotkey libvlc_hotkeys[];
...@@ -154,6 +156,6 @@ extern const size_t libvlc_config_count; ...@@ -154,6 +156,6 @@ extern const size_t libvlc_config_count;
/* /*
* Variables stuff * Variables stuff
*/ */
void var_OptionParse (vlc_object_t *, const char *); void var_OptionParse (vlc_object_t *, const char *, bool trusted);
#endif #endif
...@@ -1036,9 +1036,11 @@ int __var_TriggerCallback( vlc_object_t *p_this, const char *psz_name ) ...@@ -1036,9 +1036,11 @@ int __var_TriggerCallback( vlc_object_t *p_this, const char *psz_name )
* option name and bar is the value of the option. * option name and bar is the value of the option.
* \param p_obj the object in which the variable must be created * \param p_obj the object in which the variable must be created
* \param psz_option the option to parse * \param psz_option the option to parse
* \param trusted whether the option is set by a trusted input or not
* \return nothing * \return nothing
*/ */
void var_OptionParse( vlc_object_t *p_obj, const char *psz_option ) void var_OptionParse( vlc_object_t *p_obj, const char *psz_option,
bool trusted )
{ {
char *psz_name, *psz_value; char *psz_name, *psz_value;
int i_type; int i_type;
...@@ -1091,6 +1093,7 @@ void var_OptionParse( vlc_object_t *p_obj, const char *psz_option ) ...@@ -1091,6 +1093,7 @@ void var_OptionParse( vlc_object_t *p_obj, const char *psz_option )
( !psz_value || !*psz_value ) ) goto cleanup; /* Invalid value */ ( !psz_value || !*psz_value ) ) goto cleanup; /* Invalid value */
/* check if option is unsafe */ /* check if option is unsafe */
if( !trusted )
{ {
module_config_t *p_config = config_FindConfig( p_obj, psz_name ); module_config_t *p_config = config_FindConfig( p_obj, psz_name );
if( !p_config->b_safe ) if( !p_config->b_safe )
......
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