Gethostbyname () e Valgrind
-
22-09-2019 - |
Pergunta
Eu continuo recebendo esse erro sempre que chamo GethostbyName () no meu código 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 ***************)
Alguma ideia ? Obrigado,
Solução
Pode estar relacionado ao fato de que gethostbyname
não é reentrante e retorna um objeto compartilhado por todos os threads. Você provavelmente deveria usar getaddrinfo e Freeaddrinfo em vez de Gethostbyname.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow