mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-29 06:29:40 +00:00
lib: Release memory of YANG translation module on error
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit b9941b3fec
)
This commit is contained in:
parent
818d7301b0
commit
21f0622727
@ -127,10 +127,15 @@ static void yang_mapping_add(struct yang_translator *translator, int dir,
|
||||
}
|
||||
}
|
||||
|
||||
static void yang_tmodule_delete(struct yang_tmodule *tmodule)
|
||||
{
|
||||
XFREE(MTYPE_YANG_TRANSLATOR_MODULE, tmodule);
|
||||
}
|
||||
|
||||
struct yang_translator *yang_translator_load(const char *path)
|
||||
{
|
||||
struct yang_translator *translator;
|
||||
struct yang_tmodule *tmodule;
|
||||
struct yang_tmodule *tmodule = NULL;
|
||||
const char *family;
|
||||
struct lyd_node *dnode;
|
||||
struct ly_set *set;
|
||||
@ -282,15 +287,11 @@ struct yang_translator *yang_translator_load(const char *path)
|
||||
error:
|
||||
yang_dnode_free(dnode);
|
||||
yang_translator_unload(translator);
|
||||
yang_tmodule_delete(tmodule);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void yang_tmodule_delete(struct yang_tmodule *tmodule)
|
||||
{
|
||||
XFREE(MTYPE_YANG_TRANSLATOR_MODULE, tmodule);
|
||||
}
|
||||
|
||||
void yang_translator_unload(struct yang_translator *translator)
|
||||
{
|
||||
for (size_t i = 0; i < YANG_TRANSLATE_MAX; i++)
|
||||
|
Loading…
Reference in New Issue
Block a user