diff options
author | Andrew Tridgell <tridge@samba.org> | 2006-09-16 16:59:37 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:18:52 -0500 |
commit | 655b710204e7a7d8e486da7ba675fcbeed116fea (patch) | |
tree | 30a4c72758cd1526ce79a1f1c289c4159dba3578 /source4/lib/registry/tools/regshell.c | |
parent | d01bbe68424da9fd0c67d2dc383f13a8ede8ac78 (diff) | |
download | samba-655b710204e7a7d8e486da7ba675fcbeed116fea.tar.gz samba-655b710204e7a7d8e486da7ba675fcbeed116fea.tar.bz2 samba-655b710204e7a7d8e486da7ba675fcbeed116fea.zip |
r18584: found one of the fd leaks. The registry backend was using a
talloc(NULL, xxx) to allocate the registry context. That had two
consequences
1) it was a massive memory leak, as all winreg operations leaked their
entire context (including an open ldb database) every time
2) event_context_find() never found the exsting event context, so we
used a new event context each time, which called epoll_create()
each time, which caused a fd to be allocated
(This used to be commit 1c0a3de39828b43149d8981fc7f10e7c8b59a392)
Diffstat (limited to 'source4/lib/registry/tools/regshell.c')
-rw-r--r-- | source4/lib/registry/tools/regshell.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source4/lib/registry/tools/regshell.c b/source4/lib/registry/tools/regshell.c index 0bc1cfe324..8436a3f505 100644 --- a/source4/lib/registry/tools/regshell.c +++ b/source4/lib/registry/tools/regshell.c @@ -434,7 +434,7 @@ static char **reg_completion(const char *text, int start, int end) } else if (backend) { error = reg_open_hive(NULL, backend, poptGetArg(pc), NULL, cmdline_credentials, &curkey); } else { - error = reg_open_local(&h, NULL, cmdline_credentials); + error = reg_open_local(NULL, &h, NULL, cmdline_credentials); } if(!W_ERROR_IS_OK(error)) { |