[Openvpn-devel,v1] socket: Avoid conversion warning in get_addr_generic
Commit Message
From: Frank Lichtenheld <frank@lichtenheld.com>
We already check earlier that bits is smaller that
max_bits, so the cast is safe.
While reviewing the callers, remove some unused
variables.
Change-Id: I5ad13bc6674b3403251cc552d1f2c0f057431817
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1475
---
This change was reviewed on Gerrit and approved by at least one
developer. I request to merge it to master.
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1475
This mail reflects revision 1 of this Change.
Acked-by according to Gerrit (reflected above):
Gert Doering <gert@greenie.muc.de>
Comments
Easy enough, simplifies things, and while it doesn't "get rid of #pragma",
it at least reduces the non-monitored scope.
Good find, ipv6_addr_safe_hexplusbits() :-)
Your patch has been applied to the master branch.
commit 2cc00e80bca26c1c7129fa45e48714ca68b56b28
Author: Frank Lichtenheld
Date: Mon Jan 19 13:25:51 2026 +0100
socket: Avoid conversion warning in get_addr_generic
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1475
Message-Id: <20260119122556.15225-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg35324.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
--
kind regards,
Gert Doering
@@ -1144,10 +1144,7 @@
static bool
ipv6_addr_safe_hexplusbits(const char *ipv6_prefix_spec)
{
- struct in6_addr t_addr;
- unsigned int t_bits;
-
- return get_ipv6_addr(ipv6_prefix_spec, &t_addr, &t_bits, M_WARN);
+ return get_ipv6_addr(ipv6_prefix_spec, NULL, NULL, M_WARN);
}
static char *
@@ -72,11 +72,6 @@
}
}
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wconversion"
-#endif
-
/*
* Functions related to the translation of DNS names to IP addresses.
*/
@@ -180,7 +175,7 @@
if (netbits)
{
- *netbits = bits;
+ *netbits = (unsigned int)bits;
}
/* restore '/' separator, if any */
@@ -683,6 +678,11 @@
}
}
+#if defined(__GNUC__) || defined(__clang__)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wconversion"
+#endif
+
static void
create_socket(struct link_socket *sock, struct addrinfo *addr)
{
@@ -738,6 +738,10 @@
bind_local(sock, addr->ai_family);
}
+#if defined(__GNUC__) || defined(__clang__)
+#pragma GCC diagnostic pop
+#endif
+
#ifdef TARGET_ANDROID
static void
protect_fd_nonlocal(int fd, const struct sockaddr *addr)
@@ -861,10 +865,6 @@
gc_free(&gc);
}
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic pop
-#endif
-
static socket_descriptor_t
socket_listen_accept(socket_descriptor_t sd, struct link_socket_actual *act,
const struct addrinfo *local, bool do_listen,