Есть простой исходник:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netdb.h>
struct addrinfo hints, *servinfo, *ptr;
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
if((rv = getaddrinfo("ya.ru", "9867", &hints, &servinfo)) != 0)
{
// ошибка выход
}
for(ptr = servinfo; ptr != NULL; ptr = ptr->ai_next) {
char addr* = NULL;
inet_ntop(ptr->ai_family, ptr->ai_addr, addr, ptr->ai_addrlen);
}
/* Дальше выполнение прерывается *.
Компилируется нормально
gcc -o getaddrinfo -g -Wall test.c
Ловит SEGFAULT на строке с inet_ntop. Как побороть?