11.11.2025 23:23, Daniel Gustafsson пишет:
>> On 10 Nov 2025, at 06:14, Sergey Tatarintsev <s.tatarintsev@postgrespro.ru> wrote:
>> I'm trying to use pg_getaddrinfo_all() with NULL hints, but got segfault.
>> According to man(3) getaddrinfo, hints may be passed as NULL. In this case af_family
>> is equivalent to AF_UNSPEC.
> Right, but pg_getaddrinfo_all isn't getaddrinfo and doesn't claim to be. Since
> pg_getaddrinfo_all can return AF_UNIX as opposed to getaddrinfo, it's not clear
> why hints == NULL should mean ipv4|ipv6 here.
>
> Accepting NULL or also (subtly) breaks the API for pg_freeaddrinfo_all which is
> defined to take ai_family from the hints passed to pg_getaddrinfo_all. Now,
> reading the code makes it obvious that it will work anyways, but at the very
> least a patch to accept a NULL hint should update the function comment for
> pg_freeaddrinfo_all.
>
> --
> Daniel Gustafsson
>
Daniel, thanks for review!
I added a comment to pg_freeaddrinfo_all.
I don't think it made sense to comment that hint_ai_family simply
shouldn't be equal to AF_UNIX,
so I specified that if the original hints were NULL, hint_ai_family
should be equal to AF_UNSPEC.
--
With best regards,
Sergey Tatarintsev,
PostgresPro