--- /dev/null
+#############################################################################
+# Valgrind suppressions file for VLC
+#
+# Some of these errors are legitimate and should not be ignored forever ...
+# A good part of the suppressed leaks is not a real problem as it is memory
+# that anyway needs to be allocated for the full run
+#############################################################################
+
+#############################################
+# Invalid reads
+#############################################
+
+## Iconv
+{
+ Iconv1
+ Memcheck:Addr4
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:__libc_dlopen_mode
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ fun:iconv_open
+ fun:vlc_iconv_open
+}
+{
+ Iconv2
+ Memcheck:Addr4
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:__libc_dlopen_mode
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ fun:iconv_open
+ fun:vlc_iconv_open
+}
+{
+ Iconv3
+ Memcheck:Addr4
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:__libc_dlsym
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ fun:iconv_open
+ fun:vlc_iconv_open
+ fun:LocaleInit
+ fun:VLC_Init
+ fun:main
+}
+
+
+## Get home dir
+{
+ GetDirAddr1
+ Memcheck:Addr4
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:__libc_dlopen_mode
+ fun:__nss_lookup_function
+ obj:/lib/tls/libnss_compat-2.3.5.so
+ fun:_nss_compat_getpwuid_r
+}
+{
+ GetDirAddr2
+ Memcheck:Addr4
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:__libc_dlopen_mode
+ fun:__nss_lookup_function
+ obj:/lib/tls/libnss_compat-2.3.5.so
+ fun:_nss_compat_getpwuid_r
+}
+
+
+## Allocate plugin
+{
+ AllocatePluginAddr1
+ Memcheck:Addr4
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+}
+{
+ AllocatePluginAddr1
+ Memcheck:Addr4
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+}
+{
+ AllocatePluginAddr2
+ Memcheck:Addr4
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+ fun:AllocatePlugin
+}
+
+
+#############################################
+# Uninitialized memory
+#############################################
+
+## Get Homedir
+{
+ GetDirCond1
+ Memcheck:Cond
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:__libc_dlopen_mode
+ fun:__nss_lookup_function
+ obj:/lib/tls/libc-2.3.5.so
+ fun:__nss_passwd_lookup
+ fun:getpwuid_r
+ fun:getpwuid
+ fun:GetDir
+ fun:config_GetHomeDir
+ fun:VLC_Init
+}
+
+{
+ GetDirCond2
+ Memcheck:Cond
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:__libc_dlopen_mode
+ fun:__nss_lookup_function
+ obj:/lib/tls/libc-2.3.5.so
+ fun:__nss_passwd_lookup
+ fun:getpwuid_r
+ fun:getpwuid
+ fun:GetDir
+}
+
+## Iconv
+{
+ IconvCond1
+ Memcheck:Cond
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:__libc_dlopen_mode
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ fun:iconv_open
+ fun:vlc_iconv_open
+ fun:LocaleInit
+ fun:VLC_Init
+}
+
+## AllocatePlugin
+{
+ AllocatePluginCond2
+ Memcheck:Cond
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+}
+{
+ AllocatePluginCond1
+ Memcheck:Cond
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+ fun:AllocatePlugin
+}
+
+
+#############################################
+# Memory leaks
+#############################################
+
+## Plugins cache
+{
+ PluginsCache5
+ Memcheck:Leak
+ fun:malloc
+ fun:__vlc_object_create
+ fun:CacheLoad
+ fun:__module_LoadPlugins
+ fun:VLC_Init
+ fun:main
+}
+
+{
+ PluginsCache4
+ Memcheck:Leak
+ fun:malloc
+ fun:realloc
+ fun:__vlc_object_attach
+ fun:CacheLoad
+ fun:__module_LoadPlugins
+ fun:VLC_Init
+ fun:main
+}
+
+{
+ PluginsCache3
+ Memcheck:Leak
+ fun:realloc
+ fun:__vlc_object_attach
+ fun:CacheLoad
+ fun:__module_LoadPlugins
+ fun:VLC_Init
+ fun:main
+}
+
+{
+ PluginsCache2
+ Memcheck:Leak
+ fun:malloc
+ fun:CacheLoad
+ fun:__module_LoadPlugins
+ fun:VLC_Init
+ fun:main
+}
+
+{
+ PluginsCache1
+ Memcheck:Leak
+ fun:malloc
+ fun:CacheLoadConfig
+ fun:CacheLoad
+ fun:__module_LoadPlugins
+ fun:VLC_Init
+ fun:main
+}
+
+
+## Plugins loading
+{
+ LoadPlugins4
+ Memcheck:Leak
+ fun:malloc
+ fun:strdup
+ fun:__module_LoadPlugins
+ fun:VLC_Init
+ fun:main
+}
+{
+ LoadPlugins3
+ Memcheck:Leak
+ fun:malloc
+ fun:__module_LoadPlugins
+ fun:VLC_Init
+ fun:main
+}
+{
+ LoadPlugins2
+ Memcheck:Leak
+ fun:malloc
+ fun:__vlc_object_create
+ fun:__module_LoadPlugins
+ fun:VLC_Init
+ fun:main
+}
+
+## Get home dir
+{
+ GetDir3
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/tls/libc-2.3.5.so
+ fun:__nss_database_lookup
+ obj:*
+ obj:*
+ fun:getpwuid_r
+ fun:getpwuid
+ fun:GetDir
+ fun:config_GetHomeDir
+ fun:VLC_Init
+ fun:main
+}
+{
+ GetDir2
+ Memcheck:Leak
+ fun:malloc
+ fun:__nss_lookup_function
+ obj:*
+ obj:*
+ fun:getpwuid_r
+ fun:getpwuid
+ fun:GetDir
+ fun:config_GetHomeDir
+ fun:VLC_Init
+ fun:main
+}
+{
+ GetDir1
+ Memcheck:Leak
+ fun:malloc
+ fun:tsearch
+ fun:__nss_lookup_function
+ obj:*
+ obj:*
+ fun:getpwuid_r
+ fun:getpwuid
+ fun:GetDir
+ fun:config_GetHomeDir
+ fun:VLC_Init
+ fun:main
+}
+
+
+## Configuration parsing
+
+#{
+# config_Duplicate2
+# Memcheck:Leak
+# fun:malloc
+# fun:config_Duplicate
+# fun:vlc_entry__main
+# fun:AllocateBuiltinModule
+#}
+#{
+# config_Duplicate1
+# Memcheck:Leak
+# fun:malloc
+# fun:config_Duplicate
+#}
+
+## Plugins allocation / dynamic loading
+{
+ AllocatePlugin20
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+}
+{
+ AllocatePlugin19
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+}
+
+{
+ AllocatePlugin18
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin17
+ Memcheck:Leak
+ fun:calloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin16
+ Memcheck:Leak
+ fun:calloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+ fun:AllocatePlugin
+}
+
+{
+ AllocatePlugin15
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin14
+ Memcheck:Leak
+ fun:calloc
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin13
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+}
+{
+ AllocatePlugin12
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+}
+
+{
+ AllocatePlugin11
+ Memcheck:Leak
+ fun:calloc
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:LoadModule
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin10
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:AllocatePlugin
+}
+
+{
+ AllocatePlugin9
+ Memcheck:Leak
+ fun:malloc
+ fun:realloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+}
+
+{
+ AllocatePlugin8
+ Memcheck:Leak
+ fun:malloc
+ fun:__var_Create
+ fun:vlc_entry__0_8_4
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin7
+ Memcheck:Leak
+ fun:calloc
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin6
+ Memcheck:Leak
+ fun:malloc
+ fun:realloc
+ fun:vlc_entry__0_8_4
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin5
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin4
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin3
+ Memcheck:Leak
+ fun:malloc
+ fun:AllocatePluginDir
+}
+{
+ AllocatePlugin2
+ Memcheck:Leak
+ fun:malloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin1
+ Memcheck:Leak
+ fun:calloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:AllocatePlugin
+}
+{
+ AllocatePlugin0
+ Memcheck:Leak
+ fun:calloc
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libc-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ fun:_dl_open
+ obj:/lib/tls/libdl-2.3.5.so
+ obj:/lib/ld-2.3.5.so
+ obj:/lib/tls/libdl-2.3.5.so
+ fun:dlopen
+ fun:AllocatePlugin
+ fun:AllocatePluginDir
+ fun:AllocatePluginDir
+ fun:__module_LoadPlugins
+ fun:VLC_Init
+ fun:main
+}
+