[PATCH] Fix leak in gataddrinfo when /etc/nsswitch.conf is absent
Ondřej Bílka
neleai@seznam.cz
Mon Sep 23 18:28:00 GMT 2013
Adding Vinitha to cc.
On Tue, Sep 10, 2013 at 02:34:02PM +1000, Allan McRae wrote:
> From: Vinitha Vijayan <jiji.vinitha@gmail.com>
>
> ---
>
> Patch submitted to the bug tracker without follow-up. Siddhesh gave it an
> OK on the bug tracker. I believe this is too small to require a contributor
> agreement.
>
> OK to apply?
>
That patch looks ok, but as nip is in both branches it could be
equivalently written as below.
> 2013-09-10 Vinitha Vijayan <jiji.vinitha@gmail.com>
>
> [BZ #15048]
> * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix memory leak.
>
>
> sysdeps/posix/getaddrinfo.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
> index c0ded84..c9a97d4 100644
> --- a/sysdeps/posix/getaddrinfo.c
> +++ b/sysdeps/posix/getaddrinfo.c
> @@ -797,9 +797,12 @@ gaih_inet (const char *name, const struct gaih_service *service,
> nip = __nss_hosts_database;
> }
> else
> - no_more = __nss_database_lookup ("hosts", NULL,
> - "dns [!UNAVAIL=return] files",
> - &nip);
> + {
> + no_more = __nss_database_lookup ("hosts", NULL,
> + "dns [!UNAVAIL=return] files",
> + &__nss_hosts_database);
> + nip = __nss_hosts_database;
> + }
>
> /* Initialize configurations. */
> if (__glibc_unlikely (!_res_hconf.initialized))
> --
> 1.8.4
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 52177e4..5c80098 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -792,14 +792,12 @@ gaih_inet (const char *name, const struct gaih_service *service,
#endif
if (__nss_hosts_database != NULL)
- {
- no_more = 0;
- nip = __nss_hosts_database;
- }
+ no_more = 0;
else
no_more = __nss_database_lookup ("hosts", NULL,
"dns [!UNAVAIL=return] files",
- &nip);
+ &__nss_hosts_database);
+ nip = __nss_hosts_database;
/* Initialize configurations. */
if (__glibc_unlikely (!_res_hconf.initialized))
More information about the Libc-alpha
mailing list