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,

War es hilfreich?

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
scroll top