gethostbyname () и valgrind - PullRequest
       19

gethostbyname () и valgrind

0 голосов
/ 24 марта 2010

Я продолжаю получать эту ошибку всякий раз, когда я вызываю gethostbyname () в моем C-коде.

==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 Ответ

1 голос
/ 24 марта 2010

Это может быть связано с тем, что gethostbyname не является реентерабельным и возвращает объект, который является общим для всех потоков. Вам, вероятно, следует использовать getaddrinfo и freeaddrinfo вместо gethostbyname .

...