From 792221630bf4e58fcd923547bab689f4497613d8 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Thu, 4 Dec 2025 15:00:46 +0000 Subject: [PATCH] rtsold: Fix a buffer leak if we fail to read the default router sysctl MFC after: 1 week Reported by: Kevin Day --- usr.sbin/rtsold/cap_sendmsg.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usr.sbin/rtsold/cap_sendmsg.c b/usr.sbin/rtsold/cap_sendmsg.c index 6e7f156fbe6..36c68b7ba78 100644 --- a/usr.sbin/rtsold/cap_sendmsg.c +++ b/usr.sbin/rtsold/cap_sendmsg.c @@ -151,8 +151,10 @@ probe_defrouters(uint32_t ifindex, uint32_t linkid) buf = malloc(len); if (buf == NULL) return (-1); - if (sysctl(mib, nitems(mib), buf, &len, NULL, 0) < 0) + if (sysctl(mib, nitems(mib), buf, &len, NULL, 0) < 0) { + free(buf); return (-1); + } ep = (struct in6_defrouter *)(void *)(buf + len); for (p = (struct in6_defrouter *)(void *)buf; p < ep; p++) { if (ifindex != p->if_index)