Welcome! Log In Create A New Profile

Advanced

Re: ngx_resolver.c leaks memory?

Maxim Dounin
September 16, 2009 06:42AM
Hello!

On Tue, Sep 15, 2009 at 10:28:37PM -0700, Matthew Dempsky wrote:

> I'm still familiarizing myself with nginx's architecture, but it looks
> like ngx_resolver.c leaks memory in a few places. Before I spend any
> time tracking more down, I thought I'd point out one apparent leak so
> someone can perhaps correct me before I waste my time.
>
> In ngx_resolver_process_a(), ngx_resolver_copy() is used to
> dynamically allocate memory into name.data. This memory is only
> passed to a few logging functions and to ngx_resolver_lookup_name().
> (The name variable is also reused in the CNAME handling path, but it's
> first overwritten by another call to ngx_resolver_copy().)
>
> There does not appear to be any code responsible for ensuring that
> name.data is freed. Is there any deeper architecture preventing this
> memory from being leaked that I've missed?
>
> Included below is a patch that I believe fixes this particular memory
> leak. If someone can confirm that this is indeed correct, I'll
> continue investigating the other apparent leaks.

Patch looks correct for me. It looks a bit fragile though,
probably we need a bit more bulletproof code here.

More generally - resolver known to leak, and probably requires
code audit. It would be fine if you look into it. I believe
Artem Bokhan will help with testing (cc'd as I'm not sure he is on
English list).

Maxim Dounin
Subject Author Posted

ngx_resolver.c leaks memory?

Matthew Dempsky September 16, 2009 01:36AM

Re: ngx_resolver.c leaks memory?

Maxim Dounin September 16, 2009 06:42AM

Re: ngx_resolver.c leaks memory?

Matthew Dempsky September 16, 2009 12:30PM

Re: ngx_resolver.c leaks memory?

Maxim Dounin September 17, 2009 06:44AM

Re: ngx_resolver.c leaks memory?

Igor Sysoev September 17, 2009 07:52AM

Re: ngx_resolver.c leaks memory?

Maxim Dounin September 17, 2009 09:34AM

Re: ngx_resolver.c leaks memory?

Igor Sysoev September 16, 2009 10:04AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 111
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready