From aa00f4c4f69f7cd7c3ccb7e4371a44bd338cc812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Wed, 4 Nov 2026 16:32:24 +0100 Subject: [PATCH] logger: Close syslog channel on exit MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Qualys, Inc. Reviewed by: oshogbo Differential Revision: https://reviews.freebsd.org/D60170 --- usr.bin/logger/logger.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/usr.bin/logger/logger.c b/usr.bin/logger/logger.c index d16f387291e6..554772fc8e34 100644 --- a/usr.bin/logger/logger.c +++ b/usr.bin/logger/logger.c @@ -64,6 +64,7 @@ static ssize_t socksetup(const char *, const char *, const char *, struct socks **); static void logmessage(int, const char *, const char *, const char *, struct socks *, ssize_t, const char *); +static void closesyslog(void); static void usage(void); static cap_channel_t *capsyslog; @@ -174,6 +175,7 @@ main(int argc, char *argv[]) if (capsyslog == NULL) err(1, "Unable to open system.syslog service"); cap_close(capcas); + atexit(closesyslog); if (pristr != NULL) pri = pencode(pristr); @@ -429,6 +431,12 @@ decode(char *name, const CODE *codetab) return (-1); } +static void +closesyslog(void) +{ + cap_close(capsyslog); +} + static void usage(void) {