Hi all! Обнаружилось довольно любопытное явление: на новых Линуксах (ядрo 2.4.18 libc 2.2.5 , ядрo 2.4.17-z1 libc 2.2.2 и еще куча -- все ядра 2.4.x) статически слинкованная программа, вызывающая gethostbyname с несуществующим символич. адресом, валится по SIGSEGV. Динамически слинкованная - все ок. Дело, видимо, в ядре. На ядрах 2.0.x и 2.2.x явление не наблюдалось, Более того, прога, статически линкованная c libc 2.1.3 под ядром 2.2.16, при вызове gethostbyname сразу валится, если резолвится символич. имя, не прописанное в /etc/hosts. Если IPшник - все ok. Кто сталкивался? Куда про баг писать? З.Ы. Кто не верит - попробуйте статически любую Xовую прогу слинковать, и дайте ей -display ququ:0.0 Или поиграйте: #include <netdb.h> #include <arpa/inet.h> #include <stdio.h> int main(int argc, char *argv[]) { struct hostent *hp; if( (argc<2)||( (hp=gethostbyname(argv[1]))==NULL) ){ printf("NULL\n"); return 1; }else printf("%s\n",inet_ntoa(*(struct in_addr *)(hp->h_addr)) ); return 0; } Компилить: gcc -Xlinker -Bstatic try.c
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум где у меня руки кривые? (2001)
- Форум gethostbyname (2004)
- Форум что не так в использовании структуры (2008)
- Форум Как получить свой IP адрес? (2005)
- Форум Многопользовательский чат (2013)
- Форум Ошибка сегментирования. Рекурсивный обход каталогов (2017)
- Форум Не понимаю почему не работает (2013)
- Форум Помогите разобратся. Прога сокеты+http (2009)
- Форум Posix Threads (2005)
- Форум Размер структуры с вложенным массивом структур (2013)