mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
*TERRIBLE* terrible memory leak occuring on all systems that have no
gethostbyname_r() function, most notably windows machines...
This commit is contained in:
parent
be47d83555
commit
8950a2dfa1
@ -125,6 +125,8 @@ struct hostent *Curl_gethost(struct SessionHandle *data,
|
||||
{
|
||||
struct hostent *h = NULL;
|
||||
unsigned long in;
|
||||
|
||||
#ifdef HAVE_GETHOSTBYNAME_R
|
||||
int ret; /* this variable is unused on several platforms but used on some */
|
||||
|
||||
#define CURL_NAMELOOKUP_SIZE 9000
|
||||
@ -136,7 +138,7 @@ struct hostent *Curl_gethost(struct SessionHandle *data,
|
||||
if(!buf)
|
||||
return NULL; /* major failure */
|
||||
*bufp = buf;
|
||||
|
||||
#endif
|
||||
ret = 0; /* to prevent the compiler warning */
|
||||
|
||||
if ( (in=inet_addr(hostname)) != INADDR_NONE ) {
|
||||
@ -206,10 +208,9 @@ struct hostent *Curl_gethost(struct SessionHandle *data,
|
||||
}
|
||||
#else
|
||||
else {
|
||||
*bufp=NULL; /* zero this always */
|
||||
if ((h = gethostbyname(hostname)) == NULL ) {
|
||||
infof(data, "gethostbyname(2) failed for %s\n", hostname);
|
||||
free(buf);
|
||||
*bufp=NULL;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user