summaryrefslogtreecommitdiff
path: root/lib/log_vty.c
diff options
context:
space:
mode:
authorChristian Hopps <chopps@labn.net>2023-11-11 20:31:13 +0100
committerChristian Hopps <chopps@labn.net>2023-11-11 20:31:13 +0100
commitd8042cb3c1f33ccbd50f2572b632d486dfeb2010 (patch)
tree97559cd0679281c8b0d61ad921e92c93f9875960 /lib/log_vty.c
parent19bcca4f2e9a3ee3c8cc16608dcf303241bbf014 (diff)
lib: free the log file resources created at startup and config
Signed-off-by: Christian Hopps <chopps@labn.net>
Diffstat (limited to 'lib/log_vty.c')
-rw-r--r--lib/log_vty.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/log_vty.c b/lib/log_vty.c
index 26e608d16b..fc298533ae 100644
--- a/lib/log_vty.c
+++ b/lib/log_vty.c
@@ -857,12 +857,24 @@ void log_config_write(struct vty *vty)
}
}
+static int log_vty_fini(void)
+{
+ if (zt_file_cmdline.filename)
+ zlog_file_fini(&zt_file_cmdline);
+ if (zt_file.filename)
+ zlog_file_fini(&zt_file);
+ return 0;
+}
+
+
static int log_vty_init(const char *progname, const char *protoname,
unsigned short instance, uid_t uid, gid_t gid)
{
zlog_progname = progname;
zlog_protoname = protoname;
+ hook_register(zlog_fini, log_vty_fini);
+
zlog_set_prefix_ec(true);
zlog_set_prefix_xid(true);