From: Andrew Bartlett Date: Fri, 31 Aug 2012 02:38:41 +0000 (+1000) Subject: s4-libnet: Fix memory leak of lsa_RefDomainList and lsa_String onto libnet_ctx X-Git-Tag: samba-4.0.0rc1~303 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=efec5a9299455bd53cc770f2bc364f9a6f4f8def;p=thirdparty%2Fsamba.git s4-libnet: Fix memory leak of lsa_RefDomainList and lsa_String onto libnet_ctx These are only needed for as long as the call, and should be children of the private context. This was found based on a log provided by Ricky Nance . Thanks Ricky! Andrew Bartlett --- diff --git a/source4/libnet/libnet_lookup.c b/source4/libnet/libnet_lookup.c index 31ac6e4c102..cf2d70c41df 100644 --- a/source4/libnet/libnet_lookup.c +++ b/source4/libnet/libnet_lookup.c @@ -308,7 +308,7 @@ static bool prepare_lookup_params(struct libnet_context *ctx, s->sids.count = 0; s->sids.sids = NULL; - s->names = talloc_array(ctx, struct lsa_String, single_name); + s->names = talloc_array(s, struct lsa_String, single_name); if (composite_nomem(s->names, c)) return false; s->names[0].string = s->name; @@ -320,7 +320,7 @@ static bool prepare_lookup_params(struct libnet_context *ctx, s->lookup.in.count = &s->count; s->lookup.out.count = &s->count; s->lookup.out.sids = &s->sids; - s->lookup.out.domains = talloc_zero(ctx, struct lsa_RefDomainList *); + s->lookup.out.domains = talloc_zero(s, struct lsa_RefDomainList *); if (composite_nomem(s->lookup.out.domains, c)) return false; return true;