[Openvpn-devel] dco_freebsd: replace assert() by if...return

Message ID 20250906135413.166789-1-matthias.andree@gmx.de
State New
Headers show
Series [Openvpn-devel] dco_freebsd: replace assert() by if...return | expand

Commit Message

Matthias Andree Sept. 6, 2025, 1:54 p.m. UTC
The assert() check might be optimized away in Release builds,
and killing the process through abort() when input formats are
bad when we already have an error message in place does not seem right.

Suggested by: Ralf Lici <ralf@mandelbit.com>

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
---
 src/openvpn/dco_freebsd.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Patch

diff --git a/src/openvpn/dco_freebsd.c b/src/openvpn/dco_freebsd.c
index 931f9f68..a756dcca 100644
--- a/src/openvpn/dco_freebsd.c
+++ b/src/openvpn/dco_freebsd.c
@@ -100,7 +100,10 @@  nvlist_to_sockaddr(const nvlist_t *nvl, struct sockaddr_storage *ss)
 
             in->sin_len = sizeof(*in);
             data = nvlist_get_binary(nvl, "address", &len);
-            assert(len == sizeof(in->sin_addr));
+            if (len != sizeof(in->sin_addr))
+            {
+                return (false);
+            }
             memcpy(&in->sin_addr, data, sizeof(in->sin_addr));
             in->sin_port = nvlist_get_number(nvl, "port");
             break;
@@ -114,7 +117,10 @@  nvlist_to_sockaddr(const nvlist_t *nvl, struct sockaddr_storage *ss)
 
             in6->sin6_len = sizeof(*in6);
             data = nvlist_get_binary(nvl, "address", &len);
-            assert(len == sizeof(in6->sin6_addr));
+            if (len != sizeof(in6->sin6_addr))
+            {
+                return (false);
+            }
             memcpy(&in6->sin6_addr, data, sizeof(in6->sin6_addr));
             in6->sin6_port = nvlist_get_number(nvl, "port");