mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-28 23:43:00 +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 *yang_translator_load(const char *path)
|
||||||
{
|
{
|
||||||
struct yang_translator *translator;
|
struct yang_translator *translator;
|
||||||
struct yang_tmodule *tmodule;
|
struct yang_tmodule *tmodule = NULL;
|
||||||
const char *family;
|
const char *family;
|
||||||
struct lyd_node *dnode;
|
struct lyd_node *dnode;
|
||||||
struct ly_set *set;
|
struct ly_set *set;
|
||||||
@ -282,15 +287,11 @@ struct yang_translator *yang_translator_load(const char *path)
|
|||||||
error:
|
error:
|
||||||
yang_dnode_free(dnode);
|
yang_dnode_free(dnode);
|
||||||
yang_translator_unload(translator);
|
yang_translator_unload(translator);
|
||||||
|
yang_tmodule_delete(tmodule);
|
||||||
|
|
||||||
return NULL;
|
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)
|
void yang_translator_unload(struct yang_translator *translator)
|
||||||
{
|
{
|
||||||
for (size_t i = 0; i < YANG_TRANSLATE_MAX; i++)
|
for (size_t i = 0; i < YANG_TRANSLATE_MAX; i++)
|
||||||
|
Loading…
Reference in New Issue
Block a user