Bogus "temporary" gethostbyaddr_r() in libc for 6 years
From: Kris Kennaway (kris_at_obsecurity.org)
Date: 06/16/03
- Previous message: Rory Arms: "Unable to boot 5.x on a Tyan S1836 Dual 333Mhz"
- Next in thread: Terry Lambert: "Re: Bogus "temporary" gethostbyaddr_r() in libc for 6 years"
- Reply: Terry Lambert: "Re: Bogus "temporary" gethostbyaddr_r() in libc for 6 years"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Date: Sun, 15 Jun 2003 18:54:59 -0700 To: current@FreeBSD.org, julian@FreeBSD.org
There's a bogus implementation of gethostbyaddr_r() in
lib/libc/net/gethostnamadr.c that was committed 6 years and nine
months ago:
/*
* Temporary function (not thread safe)
*/
int gethostbyaddr_r(const char *addr, int len, int type,
struct hostent *result, struct hostent_data *buffer)
{
struct hostent *hp;
int ret;
if ((hp = gethostbyaddr(addr, len, type)) == NULL) {
ret = -1;
} else {
memcpy(result, hp, sizeof(struct hostent));
ret = 0;
}
return(ret);
}
What's the deal here? Despite the fact that this is not prototyped in
a header, some ports are detecting this, and -- one assumes -- not
behaving correctly since this implementation isn't thread-safe.
Kris
- application/pgp-signature attachment: stored
- Previous message: Rory Arms: "Unable to boot 5.x on a Tyan S1836 Dual 333Mhz"
- Next in thread: Terry Lambert: "Re: Bogus "temporary" gethostbyaddr_r() in libc for 6 years"
- Reply: Terry Lambert: "Re: Bogus "temporary" gethostbyaddr_r() in libc for 6 years"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
|