2010-03-24 7 views
0

내 C 코드에서 gethostbyname()을 호출 할 때마다이 오류가 계속 발생합니다.gethostbyname() 및 valgrind

==7983== Invalid read of size 1 
==7983== at 0x412AB2C: ____strtoul_l_internal (strtol_l.c:298) 
==7983== by 0x412A46F: strtoul (strtol.c:110) 
==7983== by 0x41D427E: inet_aton (inet_addr.c:143) 
==7983== by 0x41D8FF3: __nss_hostname_digits_dots (digits_dots.c:144) 
==7983== by 0x41DD0F9: gethostbyname (getXXbyYY.c:109) 
==7983== by 0x804BE6F: connexion_function (in ***************) 
==7983== by 0x8049A8F: main (in ***************) 

아이디어가 있으십니까? 감사합니다,

+1

gethostbyname에 어떤 인자를 주며 어떻게 초기화합니까? – ypnos

+0

감사합니다 ypnos, 그냥 getaddrinfo() 대신 사용합니다 ... – Zenet

답변

1

gethostbyname은 재진입 성이 아니며 모든 스레드가 공유하는 객체를 반환한다는 점과 관련이 있습니다. gethostbyname 대신 getaddrinfofreeaddrinfo을 사용해야합니다.

관련 문제