diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2019-02-09 13:01:58 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2019-02-09 13:01:58 (GMT) |
commit | 5863af232b8fc57de210702afe659a7383bb8840 (patch) | |
tree | 18e6fd0fb7be2f01d23cda34f8d7b3f29b1a250b /src/plugins | |
parent | 32bef30025f5e3f513c2b4936c0573cc3b629961 (diff) |
Fixed another batch of memory leaks.
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/plugin-def.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/plugins/plugin-def.h b/src/plugins/plugin-def.h index 6d4253e..3717035 100644 --- a/src/plugins/plugin-def.h +++ b/src/plugins/plugin-def.h @@ -223,14 +223,22 @@ typedef struct _plugin_interface uint64_t magic; /* Vérification a minima */ plugin_abi_version_t abi_version; /* Version du protocole utilisé*/ - const char *gtp_name; /* Désignation du GType associé*/ - const char *name; /* Désignation humaine courte */ - const char *desc; /* Description plus loquace */ - const char *version; /* Version du greffon */ + /** + * Les champs suivants ne sont généralement pas alloués dynamiquement, + * car issus des données des greffons natifs. + * + * Dans le cas des autres types d'extensions (par exemple ceux en Python), + * les éléments sont construits à la volée, donc à libérer après usage. + */ + + char *gtp_name; /* Désignation du GType associé*/ + char *name; /* Désignation humaine courte */ + char *desc; /* Description plus loquace */ + char *version; /* Version du greffon */ bool container; /* Mise en place de greffons ? */ - const char **required; /* Pré-chargements requis */ + char **required; /* Pré-chargements requis */ size_t required_count; /* Quantité de ces dépendances */ plugin_action_t *actions; /* Liste des actions gérées */ @@ -251,7 +259,7 @@ typedef struct _plugin_interface #define AL(...) BUILD_PG_LIST(.actions, ((plugin_action_t []){ __VA_ARGS__ })) -#define RL(...) BUILD_PG_LIST(.required, ((const char *[]){ __VA_ARGS__ })) +#define RL(...) BUILD_PG_LIST(.required, ((char *[]){ __VA_ARGS__ })) #define NO_REQ EMPTY_PG_LIST(.required) |