Re: [Openvpn-devel] [PATCH] Add missing check for nl_socket_alloc failure
Am 14.02.23 um 15:01 schrieb Gert Doering: Hi, On Tue, Feb 14, 2023 at 02:56:58PM +0100, Arne Schwabe wrote: resolve_ovpn_netlink_id(int msglevel) { -int ret; struct nl_sock *nl_sock = nl_socket_alloc(); -ret = genl_connect(nl_sock); +if (!nl_sock) +{ +msg(msglevel, "Allocating net link socket failed"); +} ... shouldn't we abort in this case, aka, M_FATAL (or "return -errno")? I don't think so. This function is called from two code paths: - dco_available: I don't think if detection of dco fails, we should quit openvpn completely. - ovpn_dco_init_netlink: Here we already call it with M_ERR, which is (M_FATAL | M_ERRNO) Arne ___ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel
Re: [Openvpn-devel] [PATCH] Add missing check for nl_socket_alloc failure
Hi, On Tue, Feb 14, 2023 at 02:56:58PM +0100, Arne Schwabe wrote: > resolve_ovpn_netlink_id(int msglevel) > { > -int ret; > struct nl_sock *nl_sock = nl_socket_alloc(); > > -ret = genl_connect(nl_sock); > +if (!nl_sock) > +{ > +msg(msglevel, "Allocating net link socket failed"); > +} ... shouldn't we abort in this case, aka, M_FATAL (or "return -errno")? gert -- "If was one thing all people took for granted, was conviction that if you feed honest figures into a computer, honest figures come out. Never doubted it myself till I met a computer with a sense of humor." Robert A. Heinlein, The Moon is a Harsh Mistress Gert Doering - Munich, Germany g...@greenie.muc.de signature.asc Description: PGP signature ___ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel
[Openvpn-devel] [PATCH] Add missing check for nl_socket_alloc failure
This can happen if the memory alloc fails. Signed-off-by: Arne Schwabe --- src/openvpn/dco_linux.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/openvpn/dco_linux.c b/src/openvpn/dco_linux.c index c84f9cfe1..b1103c8d5 100644 --- a/src/openvpn/dco_linux.c +++ b/src/openvpn/dco_linux.c @@ -79,10 +79,14 @@ typedef int (*ovpn_nl_cb)(struct nl_msg *msg, void *arg); static int resolve_ovpn_netlink_id(int msglevel) { -int ret; struct nl_sock *nl_sock = nl_socket_alloc(); -ret = genl_connect(nl_sock); +if (!nl_sock) +{ +msg(msglevel, "Allocating net link socket failed"); +} + +int ret = genl_connect(nl_sock); if (ret) { msg(msglevel, "Cannot connect to generic netlink: %s", -- 2.37.1 (Apple Git-137.1) ___ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel