git: dd38b346ad17 - stable/15 - rtsold: Fix a buffer leak if we fail to read the default router sysctl
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 15 Dec 2025 14:16:18 UTC
The branch stable/15 has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=dd38b346ad17faf5fc76ab288272ca0768516c4d
commit dd38b346ad17faf5fc76ab288272ca0768516c4d
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2025-12-04 15:00:46 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2025-12-15 14:10:25 +0000
rtsold: Fix a buffer leak if we fail to read the default router sysctl
MFC after: 1 week
Reported by: Kevin Day <kevin@your.org>
(cherry picked from commit 792221630bf4e58fcd923547bab689f4497613d8)
---
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 6e7f156fbe62..36c68b7ba78d 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)