My man says that both
The gethostbyname*() and gethostbyaddr*() functions are obsolete.
So i decided to change them to getaddrinfo. So i tried to run
Code:
l_error=getaddrinfo(host, NULL, NULL, ServerSocketAddresses);
where host="173.194.35.145" and
static struct addrinfo **ServerSocketAddresses=NULL;
Program crushes:
Breakpoint 1, set_server_info (host=0x7fffffffe38e "173.194.35.145", port=80, addr_len=0x7fffffffdf1c) at socket_ip_client.c:38
38 l_error=getaddrinfo(host, NULL, NULL, ServerSocketAddresses);
(gdb) p host
$1 = 0x7fffffffe38e "173.194.35.145"
(gdb) n
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7ae9d1a in getaddrinfo () from /lib/x86_64-linux-gnu/libc.so.6
From documentation it seems that every parameter under rule and memory for ServerSocketAddresses supposed to be allocated inside call (that's why we have freeaddrinfo for later...)
Am i doing smth wrong or glibc does so?