This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: gethostbyname_r leaks memory
- From: Wolfram Gloger <wmglo at dent dot med dot uni-muenchen dot de>
- To: krueger at kiwilogic dot com
- Cc: bug-glibc at gnu dot org, libc-alpha at sources dot redhat dot com
- Date: 21 Mar 2003 15:41:20 -0000
- Subject: Re: gethostbyname_r leaks memory
- References: <EA744089E3DA0542A2877702FD97932C7066A6@klmail.kiwilogic.com>
Hi,
I can easily reproduce this problem.
I have some evidence that the leak is caused by the following:
if (EXT(statp).nsaddrs[n] == NULL)
EXT(statp).nsaddrs[n] =
malloc(sizeof (struct sockaddr_in6));
from resolv/res_send.c near line 440, which is apparantly producing
lots of small chunks which in the multi-thread case are never freed.
Perhaps someone who understands the resolver logic better can fix it
straight away? I might take a look too but it's probably going to
take some time..
Regards,
Wolfram.