gethostbyname () und valgrind
-
22-09-2019 - |
Frage
Ich halte immer diese Fehlermeldung, wenn ich gethostbyname () aufrufen, in meinem C-Code.
==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 ***************)
Irgendwelche Ideen? Danke,
Lösung
Es kann auf die Tatsache zurückzuführen sein, dass gethostbyname
ist nichtablaufinvarianten und gibt ein Objekt, das von allen Threads gemeinsam genutzt wird. Sie sollten wahrscheinlich verwenden Getaddrinfo und freeaddrinfo anstelle von gethostbyname .
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow