summaryrefslogtreecommitdiff
path: root/lib/log_vty.c
diff options
context:
space:
mode:
authorDonald Sharp <donaldsharp72@gmail.com>2023-11-11 18:25:04 -0500
committerGitHub <noreply@github.com>2023-11-11 18:25:04 -0500
commit34445653cb1cf38da8c269dd8b33d75fba565fe8 (patch)
tree75cc5ae8d7cc9e4911c8ba21a883df6302f0ae22 /lib/log_vty.c
parent07b99d6b73838e95498591e4999828c1cb29e320 (diff)
parentd8042cb3c1f33ccbd50f2572b632d486dfeb2010 (diff)
Merge pull request #14773 from LabNConsulting/fix-log-vty-memleak
lib: free the log file resources created at startup and config
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);