From dc078f208212bcaafa1c594fcd5cec27a145b0a6 Mon Sep 17 00:00:00 2001 From: Pierre d'Herbemont Date: Wed, 16 Apr 2008 14:32:15 +0200 Subject: [PATCH] modules: Fix const char * usage and memory management. --- src/modules/modules.c | 8 ++++---- src/modules/modules.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/modules/modules.c b/src/modules/modules.c index cb2930e6f7..332eafffbb 100644 --- a/src/modules/modules.c +++ b/src/modules/modules.c @@ -1301,7 +1301,7 @@ static module_t * AllocatePlugin( vlc_object_t * p_this, char * psz_file ) *****************************************************************************/ static void DupModule( module_t *p_module ) { - const char **pp_shortcut; + char **pp_shortcut; int i_submodule; for( pp_shortcut = p_module->pp_shortcuts ; *pp_shortcut ; pp_shortcut++ ) @@ -1311,7 +1311,8 @@ static void DupModule( module_t *p_module ) /* We strdup() these entries so that they are still valid when the * module is unloaded. */ - p_module->psz_object_name = strdup( p_module->psz_object_name ); + /* This one is a (const char *) that will never get freed. */ + p_module->psz_object_name = 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; @@ -1332,7 +1333,7 @@ static void DupModule( module_t *p_module ) *****************************************************************************/ static void UndupModule( module_t *p_module ) { - const char **pp_shortcut; + char **pp_shortcut; int i_submodule; for( i_submodule = 0; i_submodule < p_module->i_children; i_submodule++ ) @@ -1345,7 +1346,6 @@ 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 ); diff --git a/src/modules/modules.h b/src/modules/modules.h index 156be832ad..db8e2a53c2 100644 --- a/src/modules/modules.h +++ b/src/modules/modules.h @@ -103,12 +103,12 @@ struct module_t /* * Variables set by the module to identify itself */ - const char *psz_shortname; /**< Module name */ - const char *psz_longname; /**< Module descriptive name */ - const char *psz_help; /**< Long help string for "special" modules */ + char *psz_shortname; /**< Module name */ + char *psz_longname; /**< Module descriptive name */ + char *psz_help; /**< Long help string for "special" modules */ /** Shortcuts to the module */ - const char *pp_shortcuts[ MODULE_SHORTCUT_MAX ]; + char *pp_shortcuts[ MODULE_SHORTCUT_MAX ]; char *psz_capability; /**< Capability */ int i_score; /**< Score for the capability */ -- 2.39.2