]> git.sesse.net Git - vlc/commitdiff
modules: Make sure DupModule() work as expected. (Pointed by courmisch).
authorPierre d'Herbemont <pdherbemont@videolan.org>
Wed, 16 Apr 2008 15:19:46 +0000 (17:19 +0200)
committerPierre d'Herbemont <pdherbemont@videolan.org>
Wed, 16 Apr 2008 15:28:36 +0000 (17:28 +0200)
src/modules/modules.c

index 332eafffbb3cff52a19518a8f50dc229a5f1f64f..0b6b26c16cec76d0e8e36952c02163605cb182a3 100644 (file)
@@ -1312,7 +1312,7 @@ static void DupModule( module_t *p_module )
     /* We strdup() these entries so that they are still valid when the
      * module is unloaded. */
     /* This one is a (const char *) that will never get freed. */
-    p_module->psz_object_name = p_module->psz_object_name;
+    p_module->psz_object_name = strdup( p_module->psz_object_name );
     p_module->psz_capability = strdup( p_module->psz_capability );
     p_module->psz_shortname = p_module->psz_shortname ?
                                  strdup( p_module->psz_shortname ) : NULL;
@@ -1346,6 +1346,7 @@ static void UndupModule( module_t *p_module )
         free( *pp_shortcut );
     }
 
+    free( p_module->psz_object_name );
     free( p_module->psz_capability );
     free( p_module->psz_shortname );
     free( p_module->psz_longname );