[rtems-libbsd commit] ipsec-tools/pfkey: Fix socket leak

Christian Mauderer christianm at rtems.org
Tue May 11 06:45:47 UTC 2021


Module:    rtems-libbsd
Branch:    5-freebsd-12
Commit:    a2bc8eba467ce7eebacbb0f8c206e05a184dd16f
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=a2bc8eba467ce7eebacbb0f8c206e05a184dd16f

Author:    Christian Mauderer <christian.mauderer at embedded-brains.de>
Date:      Mon May 10 08:50:52 2021 +0200

ipsec-tools/pfkey: Fix socket leak

setkey uses pfkey_open to open a socket. But setkey doesn't close the
socket.

The libipsec functions are used only by user space applications (setkey
and racoon). Adding the wrapper for socket makes sure that the opened
socket is registered and closes if the application exits.

Fixes #4404

---

 ipsec-tools/src/libipsec/pfkey.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/ipsec-tools/src/libipsec/pfkey.c b/ipsec-tools/src/libipsec/pfkey.c
index a621be1..385a21a 100644
--- a/ipsec-tools/src/libipsec/pfkey.c
+++ b/ipsec-tools/src/libipsec/pfkey.c
@@ -1,5 +1,12 @@
 #include <machine/rtems-bsd-user-space.h>
 
+#ifdef __rtems__
+/* Only need socket from rtems-bsd-program wrappers! */
+int
+rtems_bsd_program_socket(int domain, int type, int protocol);
+#define socket(domain, type, protocol) \
+    rtems_bsd_program_socket(domain, type, protocol)
+#endif /* __rtems__ */
 /*	$NetBSD: pfkey.c,v 1.21.2.1 2011/11/14 13:25:06 tteras Exp $	*/
 
 /*	$KAME: pfkey.c,v 1.47 2003/10/02 19:52:12 itojun Exp $	*/



More information about the vc mailing list