]> git.sesse.net Git - vlc/commitdiff
We also need to check the non "conf::" case. Oops.
authorRémi Denis-Courmont <rem@videolan.org>
Thu, 8 May 2008 20:39:23 +0000 (23:39 +0300)
committerRémi Denis-Courmont <rem@videolan.org>
Fri, 9 May 2008 15:00:24 +0000 (18:00 +0300)
src/libvlc.c

index fa9bbf9deb8f42dc0118c473f0f39f3e4f710cbd..14f172bfbaba09aab95f9dca9f127745c0eab05e 100644 (file)
@@ -230,6 +230,15 @@ int VLC_VariableSet( int i_object, char const *psz_var, vlc_value_t value )
             return VLC_SUCCESS;
         }
     }
+    /* EXPLICIT HACK (this is the legacy API anyway):
+     * VLC_VariableSet is only used from the browser plugins, so we
+     *  can pretty much assume that the input is _not_ trusted. */
+    module_config_t *p_item;
+    p_item = config_FindConfig( VLC_OBJECT(p_libvlc), psz_var );
+    if( !p_item )
+        return VLC_ENOVAR;
+    if( !p_item->b_safe )
+        return VLC_EGENERIC;
 
     i_ret = var_Set( p_libvlc, psz_var, value );