On Jan 9, 2014, at 10:59 AM, Daniel Stenberg <[email protected]> wrote:

> The DEBUGASSERT(hints); there in the code will bail out if NULL is passed in, 
> and if you trace back how the 'hints' argument gets passed to 
> init_thread_sync_data() we see that it always comes from 
> init_resolve_thread().

I see. I’m wondering why this is necessary, because getaddrinfo can be called 
with NULL as hints (according to the MacOS and Linux man page).


On Jan 9, 2014, at 11:07 AM, Daniel Stenberg <[email protected]> wrote:

> On Thu, 9 Jan 2014, Daniel Stenberg wrote:
> 
>> But init_resolve_thread() that also gets 'hints' as an argument gets called 
>> from two different places - depending if getaddrinfo was present or not at 
>> configure time. One of them passes NULL as hints...
> 
> ... which it does because the 'hints' field in the thread_sync_data struct 
> only is present if HAVE_GETADDRINFO is defined!

Which IMHO makes sense, because only getaddrinfo accepts a hints parameter, 
gethostbyname(_r) do not. FYI, I tested that TFTP (UDP) is still working after 
applying my patch to always pass the hints and it does so on my Mac. This was 
one concern for regression that I had.


Regards,
Fabian
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to