https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289198
--- Comment #8 from [email protected] ---
A commit in branch stable/13 references this bug:
URL:
https://cgit.FreeBSD.org/src/commit/?id=857897013b01818814c1019a1b47164dfeb7951f
commit 857897013b01818814c1019a1b47164dfeb7951f
Author: Lexi Winter <[email protected]>
AuthorDate: 2025-10-25 04:41:37 +0000
Commit: Lexi Winter <[email protected]>
CommitDate: 2025-10-25 04:41:37 +0000
libc: Import OpenBSD's inet_net_{ntop,pton}
Our versions of these functions (originally taken from BIND) simply
don't work correctly for AF_INET6. These were removed from BIND itself
quite a while ago, but OpenBSD has made several fixes in the mean time,
so import their code.
Add tests for both functions.
PR: 289198
Reported by: Nico Sonack <[email protected]>
MFC after: 1 week
Reviewed by: des
Obtained from: OpenBSD (lib/libc/net)
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D52629
(cherry picked from commit 8f4a0d2f7b96099001dbc51e06114df1a0e6d291)
inet_net_test: Compare pointers against nullptr
GCC does not like passing NULL (__null) to std::ostringstream::operator<<
inside of ATF_REQUIRE_EQ:
lib/libc/tests/net/inet_net_test.cc: In member function 'virtual void
{anonymous}::atfu_tc_inet_net_ntop_invalid::body() const':
lib/libc/tests/net/inet_net_test.cc:306:9: error: passing NULL to
non-pointer argument 1 of 'std::__1::basic_ostream<_CharT, _Traits>&
std::__1::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT =
char; _Traits = std::__1::char_traits<char>]' [-Werror=conversion-null]
306 | ATF_REQUIRE_EQ(ret, NULL);
| ^~~~~~~~~~~~~~
In file included from
/usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/sstream:317,
from
/usr/obj/.../amd64.amd64/tmp/usr/include/atf-c++/macros.hpp:29,
from
/usr/obj/.../amd64.amd64/tmp/usr/include/atf-c++.hpp:29,
from lib/libc/tests/net/inet_net_test.cc:33:
/usr/obj/.../amd64.amd64/tmp/usr/include/c++/v1/__ostream/basic_ostream.h:338:81:
note: declared here
338 | basic_ostream<_CharT, _Traits>& basic_ostream<_CharT,
_Traits>::operator<<(long __n) {
|
~~~~~^~~
...
Fixes: 8f4a0d2f7b96 ("libc: Import OpenBSD's
inet_net_{ntop,pton}")
(cherry picked from commit aa358ce3ca8e1fcfb305025fd00beb2a119c7c77)
inet_net_test: Use int to hold expected return values from inet_net_pton
GCC warns about the sign mismatch in comparisons:
lib/libc/tests/net/inet_net_test.cc: In member function 'virtual void
{anonymous}::atfu_tc_inet_net_inet4::body() const':
lib/libc/tests/net/inet_net_test.cc:86:17: error: comparison of integer
expressions of different signedness: 'int' and 'const unsigned int'
[-Werror=sign-compare]
86 | ATF_REQUIRE_EQ(bits, addr.bits);
| ^~~~~~~~~~~~~~
lib/libc/tests/net/inet_net_test.cc: In member function 'virtual void
{anonymous}::atfu_tc_inet_net_inet6::body() const':
lib/libc/tests/net/inet_net_test.cc:205:17: error: comparison of integer
expressions of different signedness: 'int' and 'const unsigned int'
[-Werror=sign-compare]
205 | ATF_REQUIRE_EQ(bits, addr.bits);
| ^~~~~~~~~~~~~~
Fixes: 8f4a0d2f7b96 ("libc: Import OpenBSD's
inet_net_{ntop,pton}")
(cherry picked from commit e1aeb58cbbc3839db93ec38ce491b7b9383d5649)
(cherry picked from commit b4871be3490de56975777079c1767d1fd346ac7a)
lib/libc/inet/inet_net_ntop.c | 206 +++++------------
lib/libc/inet/inet_net_pton.c | 363 +++++++++---------------------
lib/libc/tests/net/Makefile | 2 +
lib/libc/tests/net/inet_net_test.cc (new) | 333 +++++++++++++++++++++++++++
4 files changed, 492 insertions(+), 412 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.