]> git.sesse.net Git - vlc/blobdiff - bin/vlc.c
Fix invalid free on non-UTF-8 locales
[vlc] / bin / vlc.c
index 4582318f8861defbd607f44c49520604633c9486..a80a91807e097c508b56867d027629f586f58a0d 100644 (file)
--- a/bin/vlc.c
+++ b/bin/vlc.c
@@ -124,6 +124,7 @@ int main( int i_argc, const char *ppsz_argv[] )
     const char *argv[i_argc + 3];
     int argc = 0;
 
+    argv[argc++] = "--no-ignore-config";
 #ifdef TOP_BUILDDIR
     argv[argc++] = FromLocale ("--plugin-path="TOP_BUILDDIR"/modules");
 #endif
@@ -136,6 +137,7 @@ int main( int i_argc, const char *ppsz_argv[] )
     for (int i = 1; i < i_argc; i++)
         if ((argv[argc++] = FromLocale (ppsz_argv[i])) == NULL)
             return 1; // BOOM!
+    argv[argc] = NULL;
 
     libvlc_exception_t ex, dummy;
     libvlc_exception_init (&ex);
@@ -163,7 +165,7 @@ int main( int i_argc, const char *ppsz_argv[] )
         libvlc_release (vlc);
     }
 
-    for (int i = 0; i < argc; i++)
+    for (int i = 1; i < argc; i++)
         LocaleFree (argv[i]);
 
     return vlc == NULL || libvlc_exception_raised (&ex);