From 58d9f6ed9dc054f4046be660353f1fb627145911 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 6 Aug 2007 03:01:59 +0000 Subject: r24246: Avoid the annoying 'probable memory leak in ldb' messages, by fixing some issues in the NBT server (this was a false positive, but easily worked around) and DRSUAPI server. We should take care not to use the ldb_context as a talloc pool, and to always ensure that any results from ldb_search() are moved off that pool with talloc_steal or talloc_free(). To work around the issue in provision, for which I can find no fault (other than a lot of work being done in provision), I've moved the detector trigger to 400 additional blocks. This fixes Bug #4810 by Andrew Bartlett (This used to be commit 42bcf856203ae3cf43130519904828a143ac8d18) --- source4/nbt_server/dgram/netlogon.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'source4/nbt_server/dgram') diff --git a/source4/nbt_server/dgram/netlogon.c b/source4/nbt_server/dgram/netlogon.c index dc6b01961a..c255238913 100644 --- a/source4/nbt_server/dgram/netlogon.c +++ b/source4/nbt_server/dgram/netlogon.c @@ -58,9 +58,9 @@ static void nbtd_netlogon_getdc(struct dgram_mailslot_handler *dgmslot, return; } - partitions_basedn = samdb_partitions_dn(samctx, samctx); + partitions_basedn = samdb_partitions_dn(samctx, packet); - ret = gendb_search(samctx, samctx, partitions_basedn, &ref_res, ref_attrs, + ret = gendb_search(samctx, packet, partitions_basedn, &ref_res, ref_attrs, "(&(&(nETBIOSName=%s)(objectclass=crossRef))(ncName=*))", name->name); @@ -128,9 +128,9 @@ static void nbtd_netlogon_getdc2(struct dgram_mailslot_handler *dgmslot, return; } - partitions_basedn = samdb_partitions_dn(samctx, samctx); + partitions_basedn = samdb_partitions_dn(samctx, packet); - ret = gendb_search(samctx, samctx, partitions_basedn, &ref_res, ref_attrs, + ret = gendb_search(samctx, packet, partitions_basedn, &ref_res, ref_attrs, "(&(&(nETBIOSName=%s)(objectclass=crossRef))(ncName=*))", name->name); @@ -140,7 +140,7 @@ static void nbtd_netlogon_getdc2(struct dgram_mailslot_handler *dgmslot, } /* try and find the domain */ - ret = gendb_search_dn(samctx, samctx, + ret = gendb_search_dn(samctx, packet, samdb_result_dn(samctx, samctx, ref_res[0], "ncName", NULL), &dom_res, dom_attrs); if (ret != 1) { -- cgit